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

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

Войти через центр авторизации
Похожие вопросы
Сбер Иннополис
от 80 000 ₽
Сбер Москва
от 200 000 до 300 000 ₽
SpectrumData Екатеринбург
от 150 000 до 250 000 ₽