我不记得我在哪里看到了这段代码,但是我已经记下了这个代码,现在我又回到了上面,我不知道为什么结果会更大。
x='b'*4
y='a'*5
if x == y:
print("Equal")
elif x<y:
print("Less")
elif x>y:
print("Greater")
这是索引问题吗?
答案 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”。
但是,如果第一个字符相同,那么它将比较下一个字符,依此类推。