Ввожу 8 9 10 min() выбирает 9 max() 10. max — min = -1. Как так?

Знаю, вопрос глупый. Но почему это работает именно так?
См. Код
#Входные данные: 8 9 10
s = input()
s = s.split()

max = max(s)
min = min(s)

print(int(max) - int(min))
  • Вопрос задан
  • 108 просмотров
Решения вопроса 2
@bbkmzzzz
Потому что нужно почитать документацию на функцию max
Если max\min передать строки - он найдет строку(!) подходящую лексиграфически, то есть в алфавитном порядке.
Строка '10' < '9', так как 1 идет раньше 9.

Не надо переопределять встроенные имена. Считайте их зарезервированными и недоступными для именования переменных
max = max(s)
min = min(s)
Ответ написан
Комментировать
@galaxy
Потому что в s - строки, а не числа, сортировка их лексикографическая.
s = [int(n) for n in s.split()]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
08 дек. 2021, в 10:28
1000 руб./за проект
08 дек. 2021, в 10:17
15000 руб./за проект
08 дек. 2021, в 10:02
3000 руб./за проект