【问题标题】:Prime numbers list generator immediately closing when run素数列表生成器在运行时立即关闭
【发布时间】:2018-12-14 21:53:05
【问题描述】:

我正在尝试列出素数。

primes = []
num=int
for num in range (2,100):
    for x in range (2, num):
        if (num % x) == 0:
            pass
        else:
            primes.append(num)
            break
print(primes)
input()

但是当我尝试打开 .py 文件时它会立即关闭。我认为代码有问题。

【问题讨论】:

  • 嗯...我似乎无法重现此问题。它对我来说很好。你的 python 版本是什么?
  • 你只是双击.py文件吗?
  • 我终于运行了它,但这次它列出了 [3-99] 之间的所有数字
  • 不要改变你的问题的主题。新主题 -> 新问题。
  • 我认为 OP 的想法是 passcontinue 相同。可能来自不同的语言。它应该是 continue,因为找到了 num 的除数。

标签: python primes


【解决方案1】:

您的代码执行并完成,但它不计算素数列表,因为它包含一个错误:

当您测试每个 num 以查看它是否为素数时,您可以测试所有可能的除数(就像您尝试做的那样),如果找到一个除数则退出。如果在您全部测试后没有找到除数,则仅将您的号码添加到列表中

另外,num=int 行也不需要

primes = []

for num in range (2,100):
    is_prime=True
    for x in range (2, num):
        if (num % x) == 0:
            is_prime=False
            break
    if is_prime:
       primes.append(num)

print(primes)
input()

【讨论】:

    【解决方案2】:

    if-else 中的逻辑不正确。

    如果您在 if 块中获得“干净的模数”,您希望发生什么?提示:不是pass

    其次,你想什么时候添加到你的主要列表中?

    这里不要太具体,因为我们不应该为你做这个硬件任务。 :)

    【讨论】:

    • 问题已回滚到原始形式,因此不再正确回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    相关资源
    最近更新 更多