求教大神,python这样写为什么会报错
a=[]for number in range(3,31):
a.append(number)
b=a[:]
for num in a:
for value in range(2,num):
if num % value == 0:
b.remove(num)
else:
continue
b.insert(0,2)
print(b)
想写个求30内质数的程序,结果显示Traceback : ValueError: list.remove(x): x not in list{:10_250:}
这个错误提示是要移出的元素不在列表中。
问题出现在两层for循环中。以num=6为例,当value=2时,num % value == 0,b移出了6,然后当value=3时,num % value == 0,再去移出6,就出错了。 冬雪雪冬 发表于 2017-7-27 09:48
这个错误提示是要移出的元素不在列表中。
问题出现在两层for循环中。以num=6为例,当value=2时,num % val ...
谢谢大神{:10_257:}我在b.remove(num)后面添加个break,现在能用了
页:
[1]