2013-08-31 20 views
11

Ho letto this thread sulla conversione dell'alfabeto in numeri ma non capisco come convertire i numeri in lettere. Apprezzerei se qualcuno potesse approfondire su questo, in particolare e più specificamente, la funzione chr() descritta nella discussione. Ho già provato a cercare la funzione chr ma non ci sono molti tutorial per questo.Come convertire i numeri in alfabeto in Python?

+2

[Ecco un collegamento alla documentazione di 'chr()'] (http://docs.python.org/2/library/functions.html#chr) – TerryA

risposta

29

Se si dispone di un numero, per esempio 65, e se si desidera ottenere il carattere ASCII corrispondente, è possibile utilizzare la funzione di chr, come questo

>>> chr(65) 
'A' 

Allo stesso modo se si hanno 97,

>>> chr(97) 
'a' 

EDIT: La soluzione di cui sopra funziona per i caratteri a 8 bit o caratteri ASCII. Se si hanno a che fare con caratteri unicode, è necessario specificare il valore unicode del carattere iniziale dell'alfabeto su ord e il risultato deve essere convertito utilizzando unichr anziché chr.

>>> print unichr(ord(u'\u0B85')) 
அ 

>>> print unichr(1 + ord(u'\u0B85')) 
ஆ 

NOTA: caratteri Unicode utilizzati sono del linguaggio chiamato "tamil", la mia prima lingua. Questa è la tabella unicode per lo stesso http://www.unicode.org/charts/PDF/U0B80.pdf

+0

Si potrebbe probabilmente si noti che questa è una soluzione specifica per tabelle ASCII. – lpapp

+0

@LaszloPapp Sei corretto. Considerando il thread OP citato, ho presupposto che abbiamo a che fare con alfabeti inglesi. – thefourtheye

+1

Inoltre, potresti spiegare ai lettori qual è il significato di "7". Potrebbe non essere semplice. – lpapp

Problemi correlati