Почему я получаю 9 как max (), когда есть числа> 9 в списке - PullRequest
0 голосов
/ 08 октября 2019

Я написал код на Python для вывода минимального и максимального значения пользовательского ввода. Если я введу число от 0 до 15, я ожидаю, что max() вернет 15, а min() вернет 0. Однако max() вернет 9:

i = (input().split(" "))
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

print(min(i))
# 0
print(max(i))
# 9

Почему не max(i)вернуть 15?

Ответы [ 2 ]

1 голос
/ 08 октября 2019

Если вы проверите свой список i, вы увидите, что введенные вами цифры хранятся в виде строк, тогда как вы хотите оценить их на основе их числового значения. Python также может рассчитать максимальное значение строк (см. в этом сообщении для получения дополнительной информации).

Вы можете исправить это, явно преобразовав свой ввод в целые числа:

i = [int(x) for x in input().split(" ")]

print(max(i))
print(min(i))
0 голосов
/ 08 октября 2019

Вы также можете сделать это так.

i = list(map(int, input().split(" ")))

print(min(i))
print(max(i))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...