snap shot for code 检查数字列表中素数的python程序将55和25视为素数,实际上不是素数,因为55/5 = 11并且提示为零那么代码中有什么问题
def check_prime(n):
for i in range(2,n,1):
if(n%i)==0:
return 1
else :
return 0
numbers=[51,52,53,54,55,13,407,508,11,17,60,12,19,25,30,]
for j in numbers:
if check_prime(j)==1:
print("the {} is not prime".format(j))
else:
print("th {} is prime".format(j))
因为,您将return放入函数中,因此,您的函数仅在其他函数中执行第一个求值,仅当数字为奇数或曾经时,函数才返回,因为仅当i = 2时才求值,您的函数必须为。
def check_prime(n):
for i in range(2,n):
if(n%i)==0:return False
return True
您在check_prime
功能中存在逻辑错误,请尝试以下操作: