2017-05-25 3 views
2

Bis jetzt, konnte ich einen Buchstaben nehmen und seine Nummerposition finden. Beispiel, a == 0 Aber jetzt möchte ich diese Zahl nehmen und 4 addieren. Dann das Alphabetäquivalent dieser Zahl zurückgeben. So, a == 0; 0 + 4 = 5; sollte f zurückgeben. Denn das ist der fünfte im Alphabet! Hier ist mein Code so weit:wie man eine Zahl nimmt und seine Alphabetposition findet Python

def convert_int(str): 
    a = string.lowercase.index(str) 
    addition = a +13 
    return addition; 
+1

'string.lowercase [NEW_INDEX]' –

+0

Meinen Sie 'a = 1 ', weil' f = 5 '? Oder möchtest du, dass es bei 0 beginnt, also 'f = 4'? – ASCIIThenANSI

Antwort

6

Verwenden Sie die chr() und ord() Funktionen.

print(ord('a')) # 97 
print(chr(97 + 4)) # e 
print(chr(ord('f') + 2)) # h 
+0

Vielen Dank mehn! – german

+0

@german Froh zu helfen! Vergessen Sie nicht, die Antwort zu akzeptieren, wenn es zufriedenstellend ist, um die Frage als gelöst zu markieren. –

0

In der einfachen Art und Weise können Sie ord verwenden ASCII-Zeichen zu Dezimalbasis, ex zu konvertieren: A ~ 65, dann sollten Sie mit irgendwelchen Zahlen addieren, die Sie möchten, und verwenden chr es zu ascii zurück zu konvertieren . Beispiel:

chr((ord(a) + number) % 123)

In der härteren Art und Weise und populär, sollten Sie dict in Python verwenden

Verwandte Themen