质数确定函数给出错误的结果
Prime number determination function gives wrong results
我正在使用 Python 创建一个函数来确定一个数是否为素数。我相信我做对了,但它在一些测试用例上失败了。例如,对于 10,它声称它是质数,但实际上不是。有什么建议吗?
def prime(number):
result = None
for i in range(2, number):
if (number % i == 0):
result = False
result = True
return result
在这部分代码中:
result = True
return result
您将 result
设置为 True
并立即 return 它。因此,在此之前发生的任何事情都没有任何影响,至少没有达到 return 值。这就是为什么您的函数将为每个数字 return True
。
你至少应该移动或删除 result = True
行,但我留给你看看你这样做时会发生什么。
我正在使用 Python 创建一个函数来确定一个数是否为素数。我相信我做对了,但它在一些测试用例上失败了。例如,对于 10,它声称它是质数,但实际上不是。有什么建议吗?
def prime(number):
result = None
for i in range(2, number):
if (number % i == 0):
result = False
result = True
return result
在这部分代码中:
result = True return result
您将 result
设置为 True
并立即 return 它。因此,在此之前发生的任何事情都没有任何影响,至少没有达到 return 值。这就是为什么您的函数将为每个数字 return True
。
你至少应该移动或删除 result = True
行,但我留给你看看你这样做时会发生什么。