Как я могу сложить int со списком?Ошибка типа: неподдерживаемые типы операндов для +: 'int' и 'list' - PullRequest
0 голосов
/ 30 сентября 2018

Прежде всего, я новичок в Python, так что это может быть легко, но я старался изо всех сил исследовать, прежде чем спрашивать здесь.В любом случае, если я изменю «на высокий в minListe» на «на minListe в [5, 2, -4, 2, -1, 0, 2, -2, 3, 0, 7]», это работает, но это не хорошодостаточно ... Кто-нибудь знает, как это сделать без включения моего списка в функцию?

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 голосов
/ 30 сентября 2018

Вы пытаетесь добавить список в int, так что интуитивно это не сработает.Ваша ошибка в строке:

if minListe == 0:
    total = total + minListe

Вместо этого это должно быть

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

Поскольку tall - это int в minListe, тогда как minListe - это сам список,

0 голосов
/ 30 сентября 2018

Решение: total = 0 для высокого значения в minListe: если minListe == 0: общее количество разрыва = общее + высокое значение возврата (всего)

вы не должны добавлять список с int.Просто добавьте высокий итератор к вашему итогу.

0 голосов
/ 30 сентября 2018

Если я правильно понял вашу логику, вы пытаетесь сделать следующее.Попробуйте приведенный ниже код и оставьте комментарий ниже, если он работает или нет.Я добавил несколько комментариев, где я изменил вещи

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