ValueError: недопустимый литерал для int () с основанием 10: '4 5 29 54 4 0 -214 542 -64 1 -3 6 -6'
Исключение ValueError ясно говорит, что не может преобразовать вашу строку в целое число с основанием 10.
int () говорит:
Если x равен не число или, если задано основание, то x должен быть строкой, байтами или экземпляром байтового массива, представляющим целочисленный литерал в основании основания.
x = int("2")
сработало бы. Однако ваша строка содержит последовательность int
. Вы не можете конвертировать str
в int
с помощью конструктора int
.
Вам нужно использовать понимание списка или map , чтобы получить список int и затем оперировать ими.
Использование list comprehension
:
s = "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"
li = [int(i) for i in s.split()]
print(li)
Использование map
:
s = "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"
print(list(map(int, s.split())))
Выходы:
[4, 5, 29, 54, 4, 0, -214, 542, -64, 1, -3, 6, -6]
РЕДАКТИРОВАНИЕ:
s = "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"
li = [int(i) for i in s.split()]
print(max(li), min(li))
ВЫХОДЫ:
542 -214