Seite 1 von 1

Buchstaben decodieren

Verfasst: Freitag 8. Mai 2015, 16:43
von MarWill11
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

Re: Buchstaben decodieren

Verfasst: Freitag 8. Mai 2015, 16:54
von Sirius3
@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)

Re: Buchstaben decodieren

Verfasst: Freitag 8. Mai 2015, 16:57
von MarWill11
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

Re: Buchstaben decodieren

Verfasst: Freitag 8. Mai 2015, 17:13
von 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.

Re: Buchstaben decodieren

Verfasst: Freitag 8. Mai 2015, 17:25
von MarWill11
Wow...super danke!!!
Aber zum Verständnis: worin besteht der Unterschied zwischen "input" und "raw_input".?

1000 Dank und beste Grüße

Re: Buchstaben decodieren

Verfasst: Freitag 8. Mai 2015, 17:29
von Sirius3
Bei raw_input gibst Du Zeichen ein, bei input Python-Ausdrücke.