尝试创建一个程序,在一定的区间内列出质数(必须在1到500之间),所以不允许用户输入。这是我的代码:
list=[]
for num in range(1, 500):
if num > 1:
for i in range(2, num):
if (num % i) == 0:
break
else:
list.append(str(num))
print(','.join(list))
然而,当我运行这段代码时,列表中有些质数重复出现多次,使得列表比应该的要长得多。我该如何解决这个问题?感谢您提前的帮助。
num
的数字i
之前,num
将被添加到列表中。很明显,您将在列表中多次包含每个质数。事实上,如果n
是素数,则您将在列表中有n-2
次出现n
。您也会在列表中包含所有奇数。 - innoSPG