我想做的是:
- 创建一个奇数的“列表”
- 然后测试它们是否是素数,测试将使用高达奇数值一半的倍数来完成,因此 halfodd
- 将素数放入列表
- 打印该列表
但是我的结果是从 1 到 1003 的数字列表,跳过了 3、4 和 5
这里有语义错误吗?
#Prime number generator
def primenumber():
primelist = [1, 2]
num = 3
even = num%2
multi = 0
result = 0
while len(primelist) < 1000:
if even != 0:
oddnum = num
i = 2
halfodd = ((oddnum + 1)/2)
while i < halfodd:
i =+ 1
multi = oddnum%i
if multi == 0:
result += 1
if result != 0:
primelist.append(oddnum)
prime_num = oddnum
num += 1
print primelist
primenumber()