所以,我在python上非常高兴。我决定制作一个制作素数的程序。我知道可能有一个内置功能可以做到这一点,但我决定自己做。
number = 1
numlist = list()
for x in range (0, 1000):
numlist.append("")
print "Created list entry " + str(x)
while True:
number = number + 1
if number % 2 != 0:
numscrollerA = 1
numscrollerB = 1
while numscrollerA <= number:
if float(number) / float(numscrollerA) == float(int(number)):
numlist[numscrollerA] = "true"
if float(number) / float(numscrollerA) != float(int(number)):
numlist[numscrollerA] = "false"
numscrollerA = numscrollerA + 1
while numscrollerB <= number:
if numscrollerB != 1 and numscroller != number and numlist[numscrollerB] == "true":
primestatus = "false"
else:
primestatus = "true"
if primestatus == "true":
print number
我得到了“创建列表条目 x ”1000次。然后该程序就会挂起。
答案 0 :(得分:0)
while numscrollerB <= number:
if numscrollerB != 1 and numscroller != number and numlist[numscrollerB] == "true":
primestatus = "false"
else:
primestatus = "true"
您不会在此循环中增加numscrollerB,因此它会无限运行。无论如何,你应该使用'for loop':
for numscrollerB in range(1, number+1):
pass # do something
答案 1 :(得分:0)
你的代码非常单一。典型的新手在不同的编码风格中经历过。 你的清单是不必要的。 在python中,您可以像这样创建列表
def check_even(val):
#this contains your logic
return val % 2 == 0
evenslist = [check_even(i) for i in xrange(1, 1001)]
print numlist