如果给定的数字是素数,则有一个返回True的函数,当数字不是时,返回False.这是一些代码:
def isPrime(n):
...
...
if (k > 0):
return False
else:
return True
if (isPrime(number)):
print(number, "is prime")
else:
print(number, "is not prime")
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是我想在isPrime函数中使用三元条件运算符.所以我编辑了这样的函数:
False if k > 0 else True
Run Code Online (Sandbox Code Playgroud)
现在,每个给定的数字都被认为不是素数.我的代码中的错误在哪里?
小智 6
代码中的错误是它没有返回三元运算符结果的任何内容.这使它自动返回None被视为False.
只需返回,不需要三元运算符.
def isPrime(n):
...
...
return k <= 0
Run Code Online (Sandbox Code Playgroud)
编辑:
return not k > 0
Run Code Online (Sandbox Code Playgroud)