如何将一个int与一个列表求和? TypeError:+不支持的操作数类型:“ int”和“ list”

时间:2018-09-30 18:38:20

标签: python list function definition

首先,我是python的新手,所以这可能很容易,但是我在询问之前竭尽全力进行研究。无论如何,如果我将“ minListe中的tall更改为” [5、2,-4、2,-1、0、2,-2、3、0、7]中的minListe”,这是可行的,但这并不好足够...有人知道如何做到这一点而不必在功能中包含我的列表?

total = 0

tall = 0

minListe = [5, 2, -4, 2, -1, 0, 2, -2, 3, 0, 7]

def funksjon2(total):

    total = 0 
    for tall in minListe:
        if minListe == 0:
            break
        total = total + minListe
    return (total)

def main():

    print(funksjon2(total))


if __name__ == "__main__":
    main(

)

3 个答案:

答案 0 :(得分:0)

如果我正确理解了您的逻辑,则您正在尝试执行以下操作。尝试下面的代码,并在下面添加注释(如果可行)。我在修改内容的地方添加了一些评论

minListe = [5, 2, -4, 2, -1, 0, 2, -2, 3, 0, 7]

def funksjon2(minListe):
    total = 0
    for tall in minListe:
        if tall == 0: # Replaced minListe by tall
            break
        total = total + tall # # Replaced minListe by tall
    return (total)

print(funksjon2(minListe))

> 4 # Answer

答案 1 :(得分:0)

您正在尝试将列表添加到int,因此直观上这是行不通的。您的错误所在的行:

if minListe == 0:
    total = total + minListe

应该是

if tall == 0:
    total = total + tall
    # or 'total += tall'

因为tallminListe中的整数,而minListe是列表本身。

答案 2 :(得分:0)

解决方案是: 总计= 0     对于minListe中的个子:         如果minListe == 0:             打破         总数=总数+高     返回(总计)

您不应添加带有int的列表。只需将高迭代器添加到总数中即可。