我正在编写一个简单的函数,它接受一个整数列表,并返回数组中所有素数的总和。 到目前为止,这是我的代码:
def sum_of_primes(n):
try:
n == list
except ValueError:
return 'Invalid Argument'
sum = 0
fact = []
for i in range(0, len(n)):
num = n[i]
if num > 1:
fact = []
for j in range (1, num+1):
if num % j == 0:
fact += [j]
if fact == [1, num]:
sum = sum + num
但我一直收到这个错误。
Unhandled Exception: unorderable types: str() > int()
我的代码有什么问题?
答案 0 :(得分:1)
n
不是整数列表,或者至少不完整。 n
中有一个字符串,当它与1比较时会抛出一个错误。
此外,n == list
永远不会抛出错误,并且始终会返回False
。您想要的是if type(n) == list
,或者更优选if isinstance(n, list)
。