检查素数的python代码认为(55,25)是素数

问题描述 投票:0回答:1

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))
python numbers primes
1个回答
0
投票

因为,您将return放入函数中,因此,您的函数仅在其他函数中执行第一个求值,仅当数字为奇数或曾经时,函数才返回,因为仅当i = 2时才求值,您的函数必须为。

def check_prime(n):
   for i in range(2,n):
      if(n%i)==0:return False
   return True

0
投票

您在check_prime功能中存在逻辑错误,请尝试以下操作:

© www.soinside.com 2019 - 2024. All rights reserved.