求解不可排序类型:str() > int() 异常



我正在编写一个简单的函数,它接受整数列表,并返回数组中所有素数的总和。这是我到目前为止的代码:

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).

相关内容

  • 没有找到相关文章

最新更新