Buchstaben decodieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
MarWill11
User
Beiträge: 6
Registriert: Freitag 8. Mai 2015, 16:35

Hallo Liebe Leser ^^
...ich bin grade am Anfang meiner Programmier-Übungen mit Python und habe auch sonst noch absolut keine Programmier-Erfahrungen.
Deshalb hoffe ich hier Tipps und Hilfe zu bekommen.

Ich habe folgendes Problem. Ziel ist es Buchstaben zu decodieren. A wurde beispielsweise duch Z ersetzt, B durch Y...usw.
Kleinbuchstaben analog.

Wir sollen einen gegebenen Text decodieren. Ich habe mich erstmal an einfachen Buchstabenfolgen versucht, bekomme jedoch ständig Fehlermeldungen. Daher meine Frage: was ist hier nicht richtig.!?
:K


Beste Grüße

Code: Alles auswählen

def f(b):
    if ord(b)<=90 and ord(b)>=65:
        return chr(155-ord(b))
    elif ord(b)<=122 and ord(b)>=97:
        return chr (219-ord(b))
    else:
        return 
Text= input("Text: ")
neu=""
for i in Text[:]:
    neu=neu+f(i)
print neu
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

@MarWill11: wo tritt die Fehlermeldung auf und was ist sie? Python meldet sich bei Fehlern mit einem Traceback, den Du so wie er ist, hier posten solltest, wenn Du nach Fehlern fragst.

Code: Alles auswählen

import string
code = string.maketrans(string.lowercase+string.uppercase, string.lowercase[::-1]+string.uppercase[::-1])
print "Hallo".translate(code)
MarWill11
User
Beiträge: 6
Registriert: Freitag 8. Mai 2015, 16:35

Danke für die schnelle Antwort Sirius 3.

Als Fehlermeldung erscheint folgendes, wenn ich beim input AbC eingebe:


Traceback (most recent call last):
File "C:/Users/User/Desktop/Hausaufgabe 3.2..py", line 18, in <module>
Text= input("Text: ")
File "<string>", line 1, in <module>
NameError: name 'AbC' is not defined
BlackJack

@MarWill11: `input()` ist die falsche Funktion, die erwartet vom Benutzer einen gültigen Python-Ausdruck der dann ausgewertet wird. Du möchtest hier `raw_input()` verwenden.
MarWill11
User
Beiträge: 6
Registriert: Freitag 8. Mai 2015, 16:35

Wow...super danke!!!
Aber zum Verständnis: worin besteht der Unterschied zwischen "input" und "raw_input".?

1000 Dank und beste Grüße
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

Bei raw_input gibst Du Zeichen ein, bei input Python-Ausdrücke.
Antworten