Как я могу распечатать n-ю букву алфавита в Python?

Математика ASCII, похоже, не работает на Python:

'a' + 5 НЕ РАБОТАЕТ

Как я могу быстро распечатать n-ю букву алфавита, не имея массива букв?

Мое наивное решение таково:

 буквы = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L' , 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', ' Y ',' Z ']
 печатать буквы [5]

6 Solutions collect form web for “Как я могу распечатать n-ю букву алфавита в Python?”

chr и ord преобразуют символы из и в целые числа соответственно. Так:

 chr(ord('a') + 5) 

это буква 'f' .

ASCII в сторону, вам не нужно вводить таблицу букв вручную. Строковые константы в string module обеспечивают то, что вы искали.

 >>> import string >>> string.ascii_uppercase[5] 'F' >>> 
 chr(ord('a')+5) 

если вы хотите действительно уйти с пути (вероятно, не очень хорошо), вы можете создать новый класс CharMath:

 class CharMath: def __init__(self,char): if len(char) > 1: raise IndexError("Not a single character provided") else: self.char = char def __add__(self,num): if type(num) == int or type(num) == float: return chr(ord(self.char) + num) raise TypeError("Number not provided") 

Вышеприведенное может быть использовано:

 >>> CharMath("a") + 5 'f' 

Вам нужно использовать функцию ord , например

 print(ord('a')-5) 

Редактировать: gah, я был слишком медленным 🙂

 import string print string.letters[n + is_upper*26] 

Например:

 >>> n = 5 >>> is_upper = False >>> string.letters[n+is_upper*26] 'f' >>> is_upper = True >>> string.letters[n+is_upper*26] 'F' 
  • Как добавить текст в конец строки в строке? - Python
  • python: получение только 1 десятичного места
  • Может ли украшенная функция получить доступ к переменным декоратора
  • Где, в первую очередь, определяется PYTHONPATH?
  • Питовое слово «Все», которое всегда возвращает True для тестов на членство
  • Использование профилирующей памяти в App Engine
  • Могу ли я использовать Dataflow для Python SDK из ноутбука Jupyter?
  • Python setuptools: как я могу перечислить приватный репозиторий в install_requires?
  • Python - лучший язык программирования в мире.