Hallo,
danke für dein Feedback. Ich habe die Funktion überarbeitet. Du hattest völlig Recht, die Funktion tut zu wenig, außerdem habe ich es als Herausforderung gesehen, das „nochmal anders“, zusammengefasster hinzubekommen.
Ich will abermals nicht herum diskutieren, deine Einlassung war 100% richtig, nur erklären weshalb ich sie überhaupt damals so gemacht hatte: Das „intime“ beim programmieren ist, dass man fast zusehen kann, wie jemand denkt. Mein Gedanke war: Tue dies und tue es für jedes Zeichen, welches der Benutzer eingibt.
Auch für den zweiten Teil deiner Aussage gebe ich dir Recht. Return als Ausgabe ist auch für die Verarbeitbarkeit besser als print. Ich habe am Ende zwar ein print- Statement, aber ich habe im Kommentar angegeben, dass dies optional ist (lediglich Testzwecke).
Ich habe auch den Tipp aus einem anderen Thread eingebaut. Die Funktion forciert nun Kleinschreibung. Ich habe mich bemüht, alle Objekte so klar wie möglich zu bezeichnen („Dont repeat this..“ passiert mir nicht wieder) und habe möglichst klare Kommentare eingefügt, damit der Programmcode nach bestem Ermessen so klar verständlich ist wie es mir möglich ist.
Code: Alles auswählen
# the morse table
morse_table ={"a": " o - ", "b": " - o o o ", "c": " - o - o ", "d": " - o o ", "e": " o ", "f": " o o - o ", "g": " - - o ", "h": " o o o o ", "i": " o o ", "j": " o - - ", "k": " - o - ", "l": " o - o o ", "m": " - - ", "n": " - o ", "o": " - - - ", "p": " o - - o ", "q": " - - o ", "r": " o - o ", "s": " o o o ", "t": " - ", "u": " o o - ", "v": " o o - ", "w": " - - o ", "x": " - o o - ", "y": " - o - - ", "z": " - - o o ", " ": " "}
# Ask what to translate
input= input()
morse_result = [ ]
def translation():
"""
force lowercase, translate sign by sign, append to the list & return the list
"""
for i in input.lower():
morse_result.append\
(morse_table[i])
return morse_result
# call the function
translation()
"""print is NOT requiered! You could write the list in a file and send via email because the function return a processable result. I do this only for testing
"""
print(morse_result)