我不记得我在哪里看到此代码,但是我已经记下了这个代码,现在我又回到了代码,但我不明白为什么结果是“更大”。
x='b'*4
y='a'*5
if x == y:
print("Equal")
elif x<y:
print("Less")
elif x>y:
print("Greater")
这是索引问题吗?
REPL通常会帮助解决这类问题:
>>> 'b'*4 > 'a'*5
True
>>> 'b'*4
'bbbb'
>>> 'a'*5
'aaaaa'
>>> 'bbbb' > 'aaaaa'
True
所以问题确实是为什么'bbbb' > 'aaaaa'
是正确的。答案是因为它们是字符串,并且按字母顺序比较字符串。如果这些是词典中的单词,则'bbbb'
将出现在'aaaaa'
之后。
因为'b'*4
等于'bbbb'
并且a*5
等于'aaaaa'
'b'具有比'a']大的unicode值>
“ b”总是大于“ a” * n,因为字符串比较通过比较字符串的第一个字符及其ASCII值来进行。