Python ASCII значения строки - PullRequest
       8

Python ASCII значения строки

0 голосов
/ 23 января 2019

Вопрос начинающего - я знаю, что '10' > '8' равно False, и я знаю, что значение ASCII '8' равно 56, но каково значение '10'?

Ответы [ 3 ]

0 голосов
/ 23 января 2019

Каждый символ имеет свое собственное значение ASCII.Значение ASCII для «1» равно 49, а значение ASCII для «0» равно 48. Значения ASCII для «10» могут быть представлены как [49, 48].

0 голосов
/ 23 января 2019

Python сравнивает строку лексикографически, т.е. используя значение символов ASCII.

Здесь вы не сравниваете числа 10 и 8. Вы сравниваете строку «10» с «8».

Это сравнение / упорядочивание строк (т. Е.) Вы только упорядочиваете (в алфавитном порядке) строки с первым символом, верно?

Вот что здесь делается. Здесь сравниваются 8 и 1, а не 10. 1 происходит до 8 в таблице ASCII. 1, очевидно, не больше 8. Вот почему вы получаете Ложь.

Используйте int('10'), если вы хотите провести численное сравнение.

0 голосов
/ 23 января 2019

Сортировка строк выполняется лексикографически , что означает, что вы сравниваете символьно с самого начала.Причина, по которой '10' > '8' приводит к False, основана на сравнении символов: 1 имеет меньшее значение ASCII, чем 8, поэтому следующие символы игнорируются.Если эти символы совпадают, сравниваются следующие символы, пока не будет найдена разница или вы не достигнете конца одной строки.В этом особом случае, когда один является началом (префиксом) другого, более короткий считается «меньшим».('foot' <<code>'football').

'10' не имеет единственного значения ASCII, поскольку оно состоит из двух символов: '1' (значение ASCII 49) и '0' (значение ASCII 48).

Может быть, взгляните на функции ord() и chr().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...