[英]Strings in mathematical operation in python
我的代码遇到了一些问题,当它本应为假时,一条语句为真
由于某些原因,“ 6”>“ 14”是正确的。 我将它们改为int而不是str,问题解决了,但我想知道为什么这首先发生了
这是一张照片!( http://prntscr.com/o1c7na )!
为了比较字符串,它按字符比较字符,第一个字符'6'
具有更大的ASCII表示,即'1'
因此更大。
以下是一些行为示例:
>>> "a" > "b"
False
>>> "a" > "aaa"
False
>>> "1" > "2"
False
>>> "12" > "1"
True
>>> "6" > "14"
True
>>> "6" > "1"
True
可以使用ord
检索ASCII代码:
>>> ord("6")
54
>>> ord("1")
49
发生这种情况的原因是,ASCII字符串比较与每个字母的ASCII代码比较一一发生。 因此,在第一步中,将6与1进行比较,由于6> 1,因此返回true。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.