
不知道为什么 会显示列表里没有元素 把第2个for 先变注释 检验了一下 是可以打出元素的,但是一加上for,就显示没有那个元素了
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
a5156520 2024-09-25 13:59关注我这里测试,在list1.remove(q)后面一行,增加break退出循环,即可打印出100以内的所有素数。
修改如下:
参考链接:质数表_百度百科 只有两个正因数(1和它本身)的自然数即为质数。比1大但不是质数的数称为合数。1和0既非质数也非合数。质数在数论中有着很重要的作用。https://baike.baidu.com/item/%E8%B4%A8%E6%95%B0%E8%A1%A8/7085686
list1=[] for q in range(2,100): list1.append(q) #rint("1 for , list1=",list1,", q=",q) for w in range(2,q): if q%w==0 : # q!=w可以去除,因为w最大到(q-1) #print("2 for if, list1=",list1,", q=",q) list1.remove(q) # 此处将当前整数q从列表移除后,需要break退出循环 # 否则后面还有可以整除q的整数时,再次移除此数会报错 break # https://baike.baidu.com/item/%E8%B4%A8%E6%95%B0%E8%A1%A8/7085686 print(list1)
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用