【问题标题】:Prime number determination function gives wrong results素数确定函数给出错误的结果
【发布时间】:2017-09-17 23:37:28
【问题描述】:

我正在使用 Python 创建一个确定数字是否为素数的函数。我相信我做对了,但它在一些测试用例上失败了。例如,对于 10,它声称它不是质数。有什么建议吗?

def prime(number):
    result = None

    for i in range(2, number):
        if (number % i == 0):
            result = False

    result = True

    return result

【问题讨论】:

  • 请正确缩进你的函数。如果您在返回之前将结果分配为 ​​True,这将始终返回 True
  • 查看4.4下的控制流结构

标签: python python-3.x primes


【解决方案1】:

在这部分代码中:

result = True

return result

您将result 设置为True 并立即返回。因此,在此之前没有任何影响,至少没有返回值。这就是为什么您的函数将为每个数字返回 True

您至少应该移动或删除 result = True 行,但我留给您看看当您这样做时会发生什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多