Ariannahhh 2024-04-19 11:09 采纳率: 0%
浏览 47

Python 输出101-200之间所有素数。

编写一个程序,输出101-200之间所有素数。


flag=True
for i in range(101,201):
    for j in range(2,i):
        if i%j==0:
            flag=False
            break
    if flag :
        print(i)
        

为什么只输出了101,>︿<

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-19 11:09
    关注

    引自免费微信小程序:皆我百晓生

    在提供的代码中,问题出在flag变量的初始化位置。flag=True应该放在外层循环开始之前,这样每次进入新的数字判断时,都会将flag重置为True。以下是修正后的代码:

    # 初始化 flag 为 True,在外层循环前
    flag = True
    for i in range(101, 201):
        # 每次进入新的数字判断时,flag 都应重置为 True
        flag = True
        for j in range(2, i):
            if i % j == 0:
                flag = False
                break
        if flag:
            print(i)
    

    现在这个修改过的代码会正确地找出并打印出101到200之间的所有素数。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月19日