如何比较整数的字符串表示顺序

时间:2019-06-20 05:13:51

标签: python python-3.x

如何比较字符串代表的数字的值:

例如:

a="6"
b="10"
c="5"

现在我要比较: a<c(给出正确的False)and b>c(给出错误的False),因为在python中,应用于字符串的<和>运算符使用字典顺序对其进行比较。

如果我们使用rjust,则:

a=a.rjust(len(b), '0')  #output: a='06'

现在

a="06"
b="10"
c="5"

再次尝试进行比较:

a<b (it gives True which is correct) and b>c (it gives False which is again incorrect).

在这种情况下,我很困惑如何比较在两种情况下都为真的情况。

1 个答案:

答案 0 :(得分:0)

a = '6'
b = '10'
c = '5'

现在

ord('6') = 54
ord('1') = 49, ord('0') = 48
ord('5') = 53

将两个字符串相互比较时,将使用它们的ASCII值(一个接一个)比较它们。

a<c 表示53<54 [False]

b>c49>53 [False]个 并且结果为False。

enter image description here

这是字符串比较的工作原理。

为得到答案,您可以将这些变量类型转换为整数。

int(b)>int(c) [True]
int(a)<int(c) [False]