为什么 5 大于 10 python?

Why 5 is greater than 10 python?

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”?

在 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)

在字符串比较中,改为执行此操作。

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