Функции chr() и ord() в Python
Встроенная функция Python chr() используется для преобразования целого числа в символ, а функция ord() используется для обратного, т. е. преобразования символа в целое число.
Давайте кратко рассмотрим обе эти функции и поймем, как их можно использовать.
Функция chr()
Принимает целое число i и преобразует его в символ c , поэтому возвращает строку символов.
Вот пример, демонстрирующий то же самое:
Допустимый диапазон для аргумента — от 0 до 1,114 111 (0x10FFFF в шестнадцатеричном формате). ValueError будет ValueError , если целое число i находится за пределами этого диапазона.
Давайте проверим это на некоторых примерах
Это вызовет ValueError .
Функция ord()
Функция ord() принимает строковый аргумент из одного символа Юникода и возвращает его целочисленное значение кодовой точки Юникода. Делает наоборот chr() .
Принимает один символ Юникода (строка длиной 1) и возвращает целое число, поэтому формат следующий:
Чтобы убедиться, что он работает наоборот, чем chr() , давайте протестируем функцию на нескольких примерах.
Это вызывает TypeError если длина входной строки не равна единице.
Передача шестнадцатеричных данных
Мы также можем передавать целые числа, представленные в других общих основаниях, таких как шестнадцатеричный формат (основание 16), в chr() и ord().
В Python мы можем использовать шестнадцатеричный код, добавив к целому числу префикс 0x , если он находится в диапазоне 32/64 бит для целых значений.
Мы передаем целое число 18 в шестнадцатеричном формате в chr() , которая возвращает шестнадцатеричное значение 0x12 . Мы передаем это в chr() и используем ord() чтобы вернуть наше целое число.
Обратите внимание, что мы также можем получить целое число с помощью int() , поскольку односимвольная строка также является строкой, которая может быть допустимым параметром для указанной выше функции.
Преобразование букв алфавита в число в Python
Я пытался решить его многими способами, но не смог добраться до пинты. Я хочу сделать исключение. Если я набираю «привет», вывод должен быть в номерах, выровненных, как в алфавите. Пример a = 1 < в алфавите.
12 ответов
Что-то вроде этого:
ИЗМЕНИТЬ
Поскольку вы попросили меня объяснить, что я. хотя это было хорошо объяснено в комментариях уже [?].
Сделайте это более чем в одной строке, чтобы начать.
Это делает то же самое, но более читаемо. Убедитесь, что вы можете понять, что происходит здесь, прежде чем попытаться понять мой первый ответ. Все здесь довольно стандартное, простое Python. Следует отметить функцию ord . ord для ординалов, и почти каждый язык высокого уровня будет иметь доступ к этой функции. Он дает сопоставление с численным представлением любого символа. Обратная функция ord называется chr.
Если вы проверите для себя, порядковый номер a равен 97 (третье звено, указанное выше, отобразит полный набор символов ASCII.) Каждая строчная буква находится в диапазоне 97-122 (26 символов). Итак, если вы просто вычитаете 96 из ординала любой строчной буквы, вы получите ее позицию в алфавите, если вы возьмете ‘a’ == 1. Итак, порядковый номер ‘b’ == 98, ‘c’ == 99 и т.д. Когда вы вычитаете 96, ‘b’ == 2, ‘c’ == 3 и т.д.
Остальное начальное решение, которое я разместил, — это просто какая-то хитрость Python, которую вы можете изучить под понятием list list. Но я бы не стал сосредоточиться на этом, так как я сосредоточусь на том, чтобы научиться решать проблему на любом языке, где ord — ваш друг. Надеюсь, это поможет.
Функции ord() и chr() в Python
ord() и chr() в Python – встроенные функции. Они используются для преобразования символа в int и наоборот. Функции ord() и chr() прямо противоположны друг другу.
Функция ord()
Функция ord() в Python принимает строковый аргумент из одного символа Unicode и возвращает его целочисленное значение кодовой точки. Давайте посмотрим на несколько примеров использования функции ord().
Функция chr()
Функция chr() в Python принимает целочисленный аргумент и возвращает строку, представляющую символ в этой кодовой точке.
Поскольку функция chr() принимает целочисленный аргумент и преобразует его в символ, существует допустимый диапазон для ввода.
Допустимый диапазон для аргумента – от 0 до 1114111 (0x10FFFF в шестнадцатеричном формате). ValueError будет вызвано, если входное целое число находится за пределами этого диапазона.
Давайте посмотрим на пример использования функций ord() и chr() вместе, чтобы убедиться, что они прямо противоположны другому.
Преобразование букв алфавита в числа в Python
Я пытался решить это разными способами, но не смог добраться до пинты. Хочу заработать отл. Если я наберу «привет», вывод будет в числах, выстроенных, как в алфавите. Пример a = 1 ‹в алфавите.
Ответы (14)
Как насчет чего-то вроде этого:
РЕДАКТИРОВАТЬ
Поскольку вы просили меня объяснить, я буду . хотя это уже было довольно хорошо объяснено в комментариях [?].
Давайте для начала сделаем это более одной строкой.
Это делает то же самое, но более читабельно. Убедитесь, что вы понимаете, что здесь происходит, прежде чем пытаться понять мой первый ответ. Здесь все довольно стандартный, простой Python. Следует отметить функцию ord . ord означает порядковый номер, и почти каждый язык высокого уровня будет иметь этот тип функции. Это дает вам соответствие числовому представлению любого символа. Функция, обратная к ord, называется chr.
Если вы проверите сами, порядковый номер a равен 97 (третья ссылка, которую я разместил выше, покажет полный набор символов ASCII). Каждая строчная буква находится в диапазоне 97-122 (26 символов). Итак, если вы просто вычтете 96 от порядкового номера любой строчной буквы, вы получите ее позицию в алфавите, если вы возьмете ‘a’ == 1. Итак, порядковый номер ‘b’ == 98, ‘c’ == 99 и т. Д. вычтите 96, ‘b’ == 2, ‘c’ == 3 и т. д.
Остальная часть исходного решения, которое я опубликовал, — это просто уловка Python, которую вы можете изучить, называемую пониманием списка. Но я бы не сосредоточился на этом так сильно, как сосредоточился бы на изучении решения проблемы на любом языке, где ord — ваш друг. Надеюсь, это поможет.