当我们执行程序print('a' > 'b')时,它给出的答案是False。当我们执行程序print('a' > 'A')时,它给出的答案是True。请帮我详细解释一下。
print('a' > 'b')
print('a' > 'A')
o0lyfsai1#
当使用<或>比较字符时,它将其转换为整数。根据ASCII Table
<
>
含义:
print('a' > 'b')为假,因为print(97 > 98)
print(97 > 98)
然后:
print('a' > 'A')为真,因为print(97 > 65)
print(97 > 65)
jm81lzqq2#
请检查字符的ascii代码。
您也可以使用python进行检查
>>> ord('a') 97 >>> ord('b') 98 >>> ord('A') 65
同样,可获得相反结果:
>>> chr(97) 'a' >>> chr(98) 'b' >>> chr(65) 'A'
rvpgvaaj3#
首先,看一下ASCII table,您可以在其中找到所有标准字符的数字Map。您是否看到了“a”、“b”和“A”的值?“a”== 97“B”== 98“A”== 65这就是为什么 *('a'〉'b')为假 * 而 *('a'〉'A')为真 *。
ttcibm8c4#
这是因为在ASCII (American Standard Code For Information Interchange) CHART上,字母“a”等于97(十进制值),而字母“b”等于98(十进制值)。因此,当你输入print('a' > 'b')时,Python会比较前面提到的十进制值,并回复"FALSE",因为在幕后,它只是比较字面上的97 to 98,同样的,print('a' > 'A')也是这样,它会比较97 to 65;您将获得"TRUE."的原因
ASCII (American Standard Code For Information Interchange) CHART
"FALSE"
97 to 98
97 to 65
"TRUE."
ssgvzors5#
计算机只能理解数字。因此,每个字符都有一个数字等价物。请参阅更多信息:https://www.asciitable.com/。A=65、B=66、a=97、b=98的十进制等效值很明显,A〈B,B〈C,A〉A "
5条答案
按热度按时间o0lyfsai1#
当使用
<
或>
比较字符时,它将其转换为整数。根据ASCII Table
含义:
因此:
print('a' > 'b')
为假,因为print(97 > 98)
然后:
print('a' > 'A')
为真,因为print(97 > 65)
jm81lzqq2#
请检查字符的ascii代码。
您也可以使用python进行检查
同样,可获得相反结果:
rvpgvaaj3#
首先,看一下ASCII table,您可以在其中找到所有标准字符的数字Map。
您是否看到了“a”、“b”和“A”的值?
“a”== 97
“B”== 98
“A”== 65
这就是为什么 *('a'〉'b')为假 * 而 *('a'〉'A')为真 *。
ttcibm8c4#
这是因为在
ASCII (American Standard Code For Information Interchange) CHART
上,字母“a”等于97(十进制值),而字母“b”等于98(十进制值)。因此,当你输入
print('a' > 'b')
时,Python会比较前面提到的十进制值,并回复"FALSE"
,因为在幕后,它只是比较字面上的97 to 98
,同样的,print('a' > 'A')
也是这样,它会比较97 to 65
;您将获得"TRUE."
的原因ssgvzors5#
计算机只能理解数字。因此,每个字符都有一个数字等价物。请参阅更多信息:https://www.asciitable.com/。A=65、B=66、a=97、b=98的十进制等效值
很明显,A〈B,B〈C,A〉A "