质数计算器-以7和9结尾的数字即使不是质数也显示质数-这需要是布尔函数

时间:2019-05-09 16:19:35

标签: python

def checkPrime(number):    
    for p in range(2,number):    
        return (bool(number % p == 0))

number = int(input("Please enter a number "))    
while number < 2 :
    number = int(input("Please enter a number "))    
if checkPrime(number):
    print(number," is Not a Prime number")  #if boolean is true - not a prime number  
else:
    print(number," is a Prime Number ") #if boolean is false - prime number

2 个答案:

答案 0 :(得分:1)

您的代码检查数字是偶数还是奇数。理想情况下,如果True中的任何一个等于0,则返回number % p

使用:

def checkPrime(number):       
    return any(number % p == 0 for p in range(2, number))

注意:如果该数字不是素数,此函数将返回True

答案 1 :(得分:0)

这只是检查范围内的第一个数字,无论如何,它都击中checkPrime并在第一个循环中命中回车,因此基本上是在检查您的数字是否可被2整除。

def checkPrime(number):
    for p in range(2,number):
        if((number % p == 0)): return False

    return True