Почему print ('a'> 'b') False и print ('a'> 'A') True? - PullRequest
1 голос
/ 18 января 2020

Когда мы запускаем программу print('a' > 'b'), она дает нам ответ False.

Когда мы выполняем программу print('a' > 'A'), она дает нам ответ True.

Пожалуйста, помогите мне с подробное объяснение.

Ответы [ 3 ]

6 голосов
/ 18 января 2020

при сравнении символов с использованием < или > он преобразует его в целое число.

в соответствии с ASCII Table

Значение:

  • a - это десятичное число 97
  • b - это десятичное число 98
  • A - это десятичное число
  • B - это десятичное число 66

для этого:

print('a' > 'b') неверно, поскольку print(97 > 98)

, а затем:

print('a' > 'A') верно, потому что print(97 > 65)

1 голос
/ 18 января 2020

Пожалуйста, проверьте ascii код символов.

enter image description here

Вы также можете проверить это, используя python

>>> ord('a')
97
>>> ord('b')
98
>>> ord('A')
65

Также обратное можно получить как

>>> chr(97)
'a'
>>> chr(98)
'b'
>>> chr(65)
'A'
1 голос
/ 18 января 2020

Во-первых, взгляните на таблицу ASCII , где вы можете найти числовое отображение всех стандартных символов.

Вы видели значения 'a', 'b' и 'A' ?

'a' == 97

'b' == 98

'A' == 65

Вот почему ('a'> 'b') является ложным , а ('a'> 'A') является истинным .

...