【发布时间】:2014-03-16 20:16:08
【问题描述】:
所以,我对 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
我应该得到 1000 次“已创建列表条目 x”。然后程序就挂了。
【问题讨论】:
-
你有
while True:循环 - 这是一个无限循环,你需要在某个地方打破它 -
我知道,我的方法是,当列表用完空格时,它会创建一个异常。不是最优雅的,但这只是一种学习体验。
-
所以等几天......当程序“挂起”时,这意味着它正在运行一个无限循环。如果这是您所期望的……请耐心等待;o)
-
@m.wasowski 我至少期待它打印一个素数。它似乎没有这样做。