TypeError: неподдерживаемые типы операндов для +: 'int' и 'str' при использовании str (sum (list)) - PullRequest
0 голосов
/ 29 января 2020

Я изучаю учебник Python и понятия не имею, почему мой код не работает. Я знаю, что должен сказать Python, чтобы вывести целое число вручную, но я уже поставил str(sum(ages)). Может кто-нибудь сказать мне, почему это происходит?

ages = ['24','34','51','36','57','21','28']

print('The oldest in the group is ' + str(max(ages)) + '.')

print('The youngest in the group is ' + str(min(ages)) + '.')

print('The combined age of all in the list is ' + str(sum(ages)) + '.')

Ошибка:

File "list2.py", line 4, in <module>
    print('The combined age of all in the list is ' + str(sum(ages)) + '.')

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

1 Ответ

2 голосов
/ 29 января 2020

Проблема в том, что вы не можете использовать sum в списке строк. Для этого вы можете использовать выражение генератора, чтобы сначала преобразовать каждый элемент в целое число:

print('The combined age of all in the list is ' + str(sum(int(x) for x in ages)) + '.')

, что дает нам:

The combined age of all in the list is 251.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...