简体   繁体   中英

TypeError: unsupported operand type(s) for +=: 'int' and 'list'

I am trying to do a project in python. I'm getting an error in the line

s+=line

TypeError: unsupported operand type(s) for +=: 'int' and 'list'

Here is the function called testIfCorrect :

def testIfCorrect(world, x, y):
    s=0
    for line in world:
        s+=line
        print("ligne",line)
        if(s > 2):
            return False
    for i in range(x):
        if(sum(returnColumn(world, i)) > 2):
            return False
    for j in range(x):
        for k in range(y):
            if(j == k):
                pass
            else:
                if(world[j] == world[k]):
                    return False
                if(returnColumn(world, j) == returnColumn(world ,k)):
                    return False

def returnColumn(array, column):
    return [col[column] for col in array]

Where is the error?

In

s=0
for line in world:
    s+=line

Here s is an int and word is 2D List. So, In for line in world , line is a 1D List . It is impossible to add a List into a int type. Here, s+=line in incorrect

So, In s+=line , you can replace s+=sum(line) . I think you have found your answer.

Try this:

s=0
for line in world:
    s+=sum(line)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM