如果数字是5609,输出的是 "这个数字是质数",即使我知道它不是质数[关闭]。


如果数字是5609,输出是 “这个数字是质数”,即使我知道它不是质数。为什么我得到的是这样的输出结果?

    number = int(input())
    if number <= 1:
        print("This number is not prime")

    for i in range(2, number):
        if number % i == 0:
            print("This number is not prime")
            break
        print("This number is prime")
        break

解决方案:

你需要检查 在宣布之前的可能因素 number 为质数;你这样做,只要第一个值的 i (2)不除。

最快的解决办法是将最后一个 print 语句,将循环主体中的一个 else 阻止 下面 的循环。

number = int(input())
if number <= 1:
    print("This number is not prime")

for i in range(2, number):
    if number % i == 0:
        print("This number is not prime")
        break
else:
    print("This number is prime")

循环。else 块只有在循环 “自然 “退出时才会被执行,用尽其迭代器,而不是用 “自然 “退出。break 语句。

给TA打赏
共{{data.count}}人
人已打赏
未分类

简单计数命令的类型错误

2022-9-9 3:40:22

未分类

试图用bouncycastle加密时出现错误

2022-9-9 3:51:17

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索