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

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

Похожие вопросы
03 янв. 2025, в 10:40
2000 руб./за проект
03 янв. 2025, в 10:37
500000 руб./за проект
03 янв. 2025, в 10:35
45000 руб./за проект