为什么在Python中x ='b'* 4大于y ='a'* 5?

时间:2019-12-02 22:47:17

标签: python-3.x

我不记得我在哪里看到了这段代码,但是我已经记下了这个代码,现在我又回到了上面,我不知道为什么结果会更大。

x='b'*4
y='a'*5
if x == y:
print("Equal")

elif x<y:
print("Less")

elif x>y:
print("Greater")

这是索引问题吗?

3 个答案:

答案 0 :(得分:2)

REPL通常可以解决以下问题:

>>> 'b'*4 > 'a'*5
True
>>> 'b'*4
'bbbb'
>>> 'a'*5
'aaaaa'
>>> 'bbbb' > 'aaaaa'
True

所以问题实际上是为什么'bbbb' > 'aaaaa'是正确的。答案是因为它们是字符串,并且按字母顺序比较字符串。如果这些是字典中的单词,则'bbbb'会出现在'aaaaa'之后。

答案 1 :(得分:0)

因为 'b'*4等于'bbbb' 并且a*5等于'aaaaa'

'b'具有比'a'大的unicode值

答案 2 :(得分:0)

“ b”将始终大于“ a” * n,因为字符串比较是通过将字符串的第一个字符与其ASCII值进行比较来进行的。

有多少个“ a”并不重要,因为b总是大于字符串中的第一个“ a”。

但是,如果第一个字符相同,那么它将比较下一个字符,依此类推。