【发布时间】:2020-09-11 18:33:47
【问题描述】:
如果这是正确的
v = [22, 13, 45, 50, 98, 69, 43, 44, 1]
[ (x+1 if x >=45 else x+5) for x in v ]
那么这段代码有什么问题呢?:
def isPrime(num):
is_prime = False
if num > 1:
for i in range(2, num):
if (num % i) == 0:
is_prime = False
break
else:
is_prime = True
else:
is_prime = False
return is_prime
listTablesOnlyPrimes = [[ (i*num if isPrime(i*num)==True else pass) for i in range(1, 11)] for num in range(1, 11)]
for listTable in listTablesOnlyPrimes:
print(listTable)
我想知道解释器消息中的SyntaxError 是什么:
listTablesOnlyPrimes = [[ (i*num if isPrime(i*num)==True else pass) for i in range(1, 11)] for num in range(1, 11)]
^
SyntaxError: invalid syntax
【问题讨论】:
-
三元
if运算符需要else。
标签: python list for-loop list-comprehension