#python
numbers = ("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6") print(numbers) a = numbers.split() print(a) print (max(a)) print (min (int(a))) Выведет: 6 и -214 А должен вывести: 542
Ответы
Ответ 1
При работе со строками используется лексикографическое сравнение: In [19]: "9" > "1000" Out[19]: True поэтому сначала преобразуйте элементы в числа - для этого можно воспользоваться функцией map(int, iterable) ("функциональный стиль"): max_ = max(map(int, a)) или генератором: max_ = max(int(x) for x in a) @hoefling посоветовал лучший вариант если в качестве результата нужна строка "542", а не число: In [2]: max(a, key=int) Out[2]: '542'
Комментариев нет:
Отправить комментарий