我正在编写一个简单的函数,它接受整数列表,并返回数组中所有素数的总和。这是我到目前为止的代码:
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()
我的代码有什么问题?
n
不是整数列表,或者至少不是完全不是。n
中的某处有一个字符串,当它与 1 进行比较时会抛出错误。
此外,n == list
永远不会抛出错误,并且将始终返回False
。你想要的是 if type(n) == list
,或者更优选的是if isinstance(n, list)
.