#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'
Комментариев нет:
Отправить комментарий