Почему 5 больше, чем 10 питонов? - PullRequest
0 голосов
/ 24 октября 2019
while True:
    x = input().split()
    if len(x) != 2:
        continue
    a, b = x
    if a > b:
        print(a, 'is greater than', b)

Привет, почему при вводе: «5 10», вывод: «5 больше 10»?

Ответы [ 2 ]

2 голосов
/ 24 октября 2019

в python все, что возвращается из input - это строки, и они по-прежнему являются строками, даже если вы используете split() для них. '5' (строка) больше '10' (строка), потому что сравнение строк выполняется по первой букве первой!

Чтобы сделать это правильно, преобразуйте их оба в int:

while True:
    x = input().split()
    if len(x) != 2:
        continue
    a, b = x
    if int(a) > int(b):
        print(a, 'is greater than', b)
0 голосов
/ 24 октября 2019

В сравнении строк сделайте это вместо.

x = list(map(int, input().split()))
...