【发布时间】:2017-05-02 09:09:08
【问题描述】:
我正在尝试打印出用户输入的一些素数,例如,如果用户输入 10,它将打印出前 10 个素数。
users_prime = int(input("How many primes do you want to find"))
primes = [2]
counter = 2
while len(primes) < users_prime:
for x in primes:
if x % counter:
primes.append(counter)
counter += 1
if x % counter == 0:
counter += 1
print("The prime numbers are:", primes)
【问题讨论】:
-
不应该是
counter % x而不是x % counter吗? -
另外,只有当
counter不能被x的所有值整除时,您才应该附加到primes -
你在
primes中多次添加counter,然后在for中查看primes中的值,我猜它提供了一个新版本的无限循环 -
是的,当我运行我的代码时,没有任何反应,正如你所说的“无限循环”。
标签: python python-3.x