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

问题描述 投票:0回答:3

我不记得我在哪里看到此代码,但是我已经记下了这个代码,现在我又回到了代码,但我不明白为什么结果是“更大”。

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

elif x<y:
print("Less")

elif x>y:
print("Greater")

这是索引问题吗?

python-3.x
3个回答
2
投票

REPL通常会帮助解决这类问题:

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

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


0
投票

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.