在我学习编码的过程中,我决定尝试用Python编写一个简单的程序。我希望这个程序打印所有素数低于100的素数,但我无法弄清楚如何循环。
显然,goto不是这里的事情。这是我到目前为止(伪代码和注释我不知道正确的函数):
number = 2
if number < 100
# to be written, code determining if number is a prime.
if prime == True
print(number)
number = number + 1
goto 2
else:
number = number + 1
goto 2
else:
end
我该怎么做才能让它循环而不必写出来呢? (我还没有建立的主要检查代码,如果我需要帮助,它将是一个单独的问题。)
你应该使用for ... in循环
for number in range(1, 100):
这将使用1到100的数字值执行。
并且不要在任何循环中使用goto
和end
。
以下是您在Python 3中尝试做的事情。
def main():
for i in range(2,100):
if isPrime(i):
print ("Prime {}".format(i))
else:
print ("Not prime{}".format(i))
def isPrime(i):
for b in range(2,int(i**(1/2)+1)):
if i%b == 0:
return False
return True
要遍历(x,y)
(x包含,y独家)之间的所有数字,你可以做range(x,y)
。或者,如果你想循环前n个数字,你可以做range(n)
。所以,你可以做到
for i in range(100):
迭代前100个数字
我也是初学者。我想首先你需要“:”for循环。然后,我所知道的循环是。
for i in range(2,100):
要么
for items in itemset: #this will iterate elements in the list
这应该工作:
while loopsecs < 5:
print "GO DO SOMTHING productive"
time.sleep(.2)
loopsecs = loopsecs + .2