繁体   English   中英

Python中数学运算中的字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM