有一个函数,如果给定数字为质数,则返回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")
它工作正常。但是我想在 isPrime 函数中使用三元条件运算符。所以我编辑了这样的函数:
False if k > 0 else True
现在每个给定的数字都不是素数。我的代码中的错误在哪里?
答案 0 :(得分:6)
您的代码中的错误是它没有任何可返回三元运算符结果的东西。这样,它会自动返回render() {
const dataItems = this.props.results.map(result =>
(result.results.map(item =>
(
<tr key={item.id}>
<td>{item.id}</td>
<td>
<img
style={{ width: '150px', height: '100px' }}
src={item.image}
/>
</td>
<td>{item.name}</td>
<td>{item.status}</td>
<td>{item.species}</td>
</tr>
)
,它被视为None
。
只需返回,就不需要三元运算符。
False
编辑:
def isPrime(n):
...
...
return k <= 0
答案 1 :(得分:0)
它将一直返回False
,直到数字大于0。因为代码中的False
位于True result
的位置。
使用此:
True if k>0 else False
在您的情况下:
def isPrime(k):
return False if k<0 else True
答案 2 :(得分:-1)
使用方式:
return n if n<m else m