una tamaño saber palabras numeros mayusculas letras convertir contar contador comparar cadenas cadena arreglo alfabeto abecedario python

tamaño - ¿Cómo podría imprimir la letra n del alfabeto en Python?



convertir letras a numeros python (6)

Aparte de las matemáticas ASCII, no tiene que escribir su tabla de letras a mano. Las constantes de cadena en el string module proporcionan lo que estaba buscando.

>>> import string >>> string.ascii_uppercase[5] ''F'' >>>

Las matemáticas ASCII no parecen funcionar en Python:

''a'' + 5 NO FUNCIONA

¿Cómo podría imprimir rápidamente la letra n del alfabeto sin tener una matriz de letras?

Mi solución ingenua es esta:

letters = [''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''] print letters[5]


Necesitas usar la función ord , como

print(ord(''a'')-5)

Edit: gah, yo era demasiado lento :)


Si quieres salir del camino (probablemente no muy bien) puedes crear una nueva clase 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")

Lo anterior puede ser utilizado:

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


chr y ord convierten caracteres de y a enteros, respectivamente. Asi que:

chr(ord(''a'') + 5)

es la letra ''f'' .


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

Por ejemplo:

>>> n = 5 >>> is_upper = False >>> string.letters[n+is_upper*26] ''f'' >>> is_upper = True >>> string.letters[n+is_upper*26] ''F''


chr(ord(''a'')+5)

Al aire libre