Python: TypeError: невозможно распаковать не повторяемый объект int - PullRequest
0 голосов
/ 09 марта 2020

код для нахождения большой суммы в массиве:

def maxsum(arry):
    if len(arry)==0:
        return 0
    summ,maximum_sum=0
    for i in arry:
        summ=summ+i
        maximum_sum=max(summ,maximum_sum)
    return maximum_sum    
maxsum([1,2,-1,-2])

, получая следующую ошибку: TypeError

Traceback (most recent call last)
<ipython-input-5-59dc92538282> in <module>
      7         maximum_sum=max(summ,maximum_sum)
      8     return maximum_sum
----> 9 maxsum([1,2,-1,-2])
     10 

<ipython-input-5-59dc92538282> in maxsum(arry)
      2     if len(arry)==0:
      3         return 0
----> 4     summ,maximum_sum=0
      5     for i in arry:
      6         summ=summ+i

TypeError: cannot unpack non-iterable int object

Ответы [ 3 ]

0 голосов
/ 09 марта 2020

Как уже упоминал Клаус D

def maxsum(arry):
    if len(arry)==0:
        return 0
    summ,maximum_sum=0, 0
    for i in arry:
        summ=summ+i
        maximum_sum=max(summ,maximum_sum)
    return maximum_sum    
maxsum([1,2,-1,-2])
0 голосов
/ 09 марта 2020

Ошибка из-за назначения переменной.

def maxsum(arry):
if len(arry)==0:
    return 0
summ,maximum_sum=0,0 # Changes
for i in arry:
    summ=summ+i
    maximum_sum=max(summ,maximum_sum)
return maximum_sum    

https://note.nkmk.me/en/python-multi-variables-values/

не может распаковать не повторяемый объект int:

--------- Это потому, что он пытался преобразовать его в кортеж.

0 голосов
/ 09 марта 2020

Изменить сумму, максимум_сум = 0 на:

summ=0 
maximum_sum=0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...