为什么我在Python上的超级简单函数是错误的?

2024-06-18 06:06:30 发布

您现在位置:Python中文网/ 问答频道 /正文

编写一个函数check_prime,它接受一个整数,如果数字是prime,则返回True,否则返回False

def check_prime(yo):
  yo = int(input)
  if yo % 1 != 0 and yo % yo !=0:
      return("False")
    
  else:
      return("True")

Tags: and函数falsetrueinputreturnifdef
3条回答

我刚意识到1不是质数。。。尝试此函数检查素数:

def check_prime(x):
    if x >= 2:
        for y in range(2,x):
            if not (x % y):
                return False
    else:
        return False
    return True

check_prime(int(input('Enter number to check: ')))

输出:

Enter number to check:  31
True
def check_prime(x):
    if x >= 2:
        for y in range(2,x):
            if not ( x % y ):
                return False
    else:
        return False
    return True
    
print(13,check_prime(13))
print(12,check_prime(12))
print(3,check_prime(3))
print(1,check_prime(1))
print(2,check_prime(2))
print(31,check_prime(31))
print(8,check_prime(8))

输出:

13 True
12 False
3 True
1 False
2 True
31 True
8 False

你的素数逻辑是错误的。你可以参考这篇文章

有关Python代码,请参阅:https://www.javatpoint.com/python-check-prime-number

此外,您的输入语法是错误的。它应该是int(input())

相关问题 更多 >