150_Kirill_150
@150_Kirill_150
FX, Python, C# (Unity), Coding, адепт Linux

Ввожу 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))
  • Вопрос задан
  • 114 просмотров
Решения вопроса 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()]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 08:04
1 руб./за проект
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект