2013-08-31 9 views
11

Czytam this thread o konwersji alfabetu na liczby, ale nie rozumiem, jak konwertować cyfry z powrotem na litery. Byłbym wdzięczny, gdyby ktoś mógł rozwinąć na tym, szczególnie, a dokładniej, funkcję chr() opisaną w wątku. Próbowałem już szukać funkcji chr, ale nie ma tam zbyt wielu samouczków.Jak przekonwertować cyfry na alfabet w Pythonie?

+2

[Oto link do dokumentacji 'Chr()'] (http://docs.python.org/2/library/functions.html#chr) – TerryA

Odpowiedz

29

Jeśli masz numer, na przykład 65, a jeśli chcesz, aby uzyskać odpowiedni znak ASCII, można użyć funkcji chr, jak to

>>> chr(65) 
'A' 

podobnie, jeśli masz 97,

>>> chr(97) 
'a' 

EDIT: powyższe rozwiązanie działa dla 8-bitowych znaków lub znaków ASCII. Jeśli masz do czynienia ze znakami Unicode, musisz podać wartość Unicode początkowego znaku alfabetu do ord, a wynik musi zostać przekonwertowany za pomocą unichr zamiast chr.

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

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

UWAGA: Znaki Unicode są tutaj używane w języku zwanym „tamilski”, moim pierwszym językiem. Jest to tabela Unicode dla tego samego http://www.unicode.org/charts/PDF/U0B80.pdf

+0

Mogłabyś zapewne zauważ, że jest to rozwiązanie specyficzne dla tabeli ASCII. – lpapp

+0

@LaszloPapp Masz rację. Biorąc pod uwagę podany wątek OP, założyłem, że mamy do czynienia z angielskimi alfabetami. – thefourtheye

+1

Można również wyjaśnić czytelnikom, co oznacza "7". To może nie być proste. – lpapp

Powiązane problemy