【问题标题】:prime numbers in python same programs different outputspython中的素数相同的程序不同的输出
【发布时间】:2022-08-10 23:14:50
【问题描述】:

我有这个任务,我必须编写一个代码来确定一个数字是否是素数,我无法想出一个解决方案,所以我搜索了网络并找到了以下代码(第一个)然后我写了完全相同的代码,但名称不同,它不适用于 65、75 等数字,并说它们是质数,而它们不是。 你能帮我找出我做错了什么吗! 先感谢您!

我复制的代码:

    num=int(input())
if num > 1:
    for i in range(2, int(num/2)+1):
        if (num % i) == 0:
            print(num, \"is not a prime number\")
            break
    else:
        print(num, \"is a prime number\")
  
else:
    print(num, \"is not a prime number\")

我的代码:

addad=int(input())
if addad>1:
    for i in range(2,int(addad/2)+1):
        if (addad%i)==0:
            print(\"not prime\")
            break
        else:
            print(\"prime\")
            break
else:
    print(\"prime\")
  • 您的代码不起作用,因为您对 else 块的缩进应该与 for 循环处于同一级别。
  • 您的代码与第一个 sn-p 不同。
  • 这两个代码示例不一样。缩进在 Python 中有很大的不同。

标签: python primes


【解决方案1】:

他们不一样。

在上面的代码中,您使用了for...else,但在第二个代码中,您使用了if...else。仔细看看 indetions(它们在 python 中意味着太多)。

我认为您可能需要阅读一些关于 python 中的for/else 的信息。 你肯定会发现不同的。

【讨论】:

    猜你喜欢
    • 2020-08-17
    • 2015-04-28
    • 2017-03-16
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    相关资源
    最近更新 更多