Код ниже возвращает следующее:
list = [1, 3, 4, 5, 6]
while len(list) >= 0:
smallest_no = sorted(list)[0]
second_smallest_no = sorted(list)[1]
sum_smallest_nos = smallest_no + second_smallest_no
list.remove(smallest_no)
list.remove(second_smallest_no)
list.append(sum_smallest_nos)
print(list)
Вывод:
[4, 5, 6, 4]
[5, 6, 8]
[8, 11]
[19]
Ошибка:
IndexError Traceback (most recent call last)
<ipython-input-7-d6ccc5cb5f76> in <module>()
5 while len(list) >= 0:
6 smallest_no = sorted(list)[0]
----> 7 second_smallest_no = sorted(list)[1]
8 sum_smallest_nos = smallest_no + second_smallest_no
9
IndexError: list index out of range
1) Почему это происходит икак я могу это исправить?
2) Если я изменяю его на return (список), я получаю SyntaxError: 'return' за пределами функции
3) Как я могу получить свой код для возвратасумма добавленных значений в цикле.В этом случае 4 + 8 + 11 + 19.