Ich möchte jedem gegebenen Wort (aus lauter Großbuchstaben) einen sogenannten "alphabetical value" zuordnen, der dadurch berechnet wird, dass man für jeden Buchstaben die Position im Alphabet nimmt (also A=1, B=2, usw.) und die einzelnen Werte addiert. Dafür habe ich folgende Funktion geschrieben:
Code: Alles auswählen
def number_in_alphabet(buchstabe):
return ord(buchstabe) - 64
def alphabetical_value(string):
value = 0
for i in range(len(string)):
value = value + number_in_alphabet(string[i])
return valueCode: Alles auswählen
print namen[0]
print alphabetical_value(namen[0])
print alphabetical_value("AARON")Warum unterscheiden sich die Ergebnisse der Funktion alphabetical_value für den String "AARON" und denselben String, wenn man ihn aus der Liste einliest? Durch Probieren habe ich herausgefunden, dass die Differenz immer 60 beträgt, aber ich kann mir nicht vorstellen, woher das kommt. Die einzige Möglichkeit ist meiner Meinung nach, dass das irgendwie mit der ord()-Funktion und der damit zusammenhängenden Unicode-Codierung zu tun hat..."AARON"
-11
49
Vielen Dank schon mal im Voraus für eure Antworten!
