Ich muss in der Lage sein, eine Eingabe zu nehmen, Sonderzeichen zu entfernen, alle Großbuchstaben in Kleinbuchstaben zu setzen, in ASCII-Code mit einem Offset von 5 zu konvertieren und diese Werte dann wieder in Zeichen umzuwandeln, um ein Wort zu bilden. Ich erhalte immer Typeerror: ‚int‘ Objekt am Ende nicht iterable istWie konvertiert man ASCII-Codes in Text?
string=(str(raw_input("The code is:")))
#change it to lower case
string_lowercase=string.lower()
print "lower case string is:", string_lowercase
#strip special characters
specialcharacters="1234567890~`[email protected]#$%^&*()_-+={[}]|\:;'<,>.?/"
for char in specialcharacters:
string_lowercase=string_lowercase.replace(char,"")
print "With the specials stripped out the string is:", string_lowercase
#input offset
offset=(int(raw_input("enter offset:")))
#converstion of text to ASCII code
for i in string_lowercase:
code=ord(i)
result=code-offset
#converstion from ASCII code to text
for number in result:
message=repre(unichr(number))
print message
'result' ist ein' int'. Sie versuchen dann, darüber zu iterieren. Ich denke, was Sie stattdessen wollen, ist 'result.append (code - offset)'. Das bedeutet, dass Sie Ihr 'Ergebnis'-Argument tatsächlich als 'Liste' initialisieren müssen, daher sollte' result = [] 'vor Ihrer Schleife stehen. – idjaw