对 Python 中的简单素数生成器进行故障排除
您的代码旨在生成素数,但它遇到了问题并且仅打印计数多变的。让我们探讨一下原因并提供解决方案。
以下代码被识别为存在问题:
import math def main(): count = 3 one = 1 while one == 1: for x in range(2, int(math.sqrt(count) + 1)): if count % x == 0: continue if count % x != 0: print(count) count += 1
有两个主要问题:
这是代码的修订版本,解决了这些问题:
import math def main(): count = 3 while True: is_prime = True for x in range(2, int(math.sqrt(count) + 1)): if count % x == 0: is_prime = False break if is_prime: print(count) count += 1
此更新代码更正逻辑以确保仅打印素数。它使用“is_prime”标志检查整除性,如果 count 可被“x”的任何值整除,则中断内部循环。
以上是为什么我的 Python 素数生成器只打印 count 变量?的详细内容。更多信息请关注PHP中文网其他相关文章!