【问题标题】:I tried to make a program that type N numbers and decide if that number is a prime . (Must use functions) I wrote this :我试图制作一个输入 N 个数字并确定该数字是否为素数的程序。 (必须使用函数)我写了这个:
【发布时间】:2018-04-25 08:41:25
【问题描述】:
x = int(input())
for i in range(x) :
def isPrime(n):
a = isPrime(int(input()))
if n==2 or n==3: return True
if n%2==0 or n<2: return False
for i in range(3,int(n**0.5)+1,2):
if n%i==0:
return False
else :
return True
if False :
print("NO")
else :
print("YES")
我尝试了该代码,但它没有显示任何内容。请帮我解决这个问题
【问题讨论】:
标签:
python
function
python-3.6
primes
【解决方案1】:
您在 for 循环内返回,但您没有在最后一个 if 语句中检查存储在 a 中的返回值。
你可以这样做:
x = int(input())
for i in range(x) :
def isPrime(n):
a = isPrime(int(input()))
if n==2 or n==3: return True
if n%2==0 or n<2: return False
for i in range(3,int(n**0.5)+1,2):
if n%i==0:
return False
else :
return True
#Here you should compare a, just checking "if false" won't do anything
if a == False :
print("NO")
else :
print("YES")