Anfänger und Problem mit meinem Übersetzer
Verfasst: Samstag 1. Mai 2021, 22:38
Hey, ich habe versucht einen Übersetzer zu machen, der nach jedem Vokal ein "bi" dranhängt außer es sind zwei Vokale nebeneinander, dann wird es nach dem zweiten Vokal angehängt ("Programmiere" seit 3 Tagen und das war das erste was ich versucht habe, nachdem ich ein paar der Standardbefehle gelernt habe).
Mein Problem jetzt ist, dass mein Übersetzer jetzt zwar funktioniert, aber falls die Eingabe mit einem Vokal endet, wird das letzt "bi" nicht angehangen.
Das liegt womöglich daran wie ich generell zum Ergebnis gekommen bin, deshalb würde ich gerne ein paar tipps bekommen, wie ich das Problem anders angehen kann bzw. ob es irgendwie einen Befehl gibt, der nur auf den letzten Buchstaben in der "for Schleife" zugreifen kann....
Viele Dank schonmal
Mein Problem jetzt ist, dass mein Übersetzer jetzt zwar funktioniert, aber falls die Eingabe mit einem Vokal endet, wird das letzt "bi" nicht angehangen.
Das liegt womöglich daran wie ich generell zum Ergebnis gekommen bin, deshalb würde ich gerne ein paar tipps bekommen, wie ich das Problem anders angehen kann bzw. ob es irgendwie einen Befehl gibt, der nur auf den letzten Buchstaben in der "for Schleife" zugreifen kann....
Viele Dank schonmal

Code: Alles auswählen
def translate(phrase):
translation = ""
i = 0 #Kommt Vocal zweimal vor:: 0 --> zum ersten mal; 1 --> zum 2 mal
k = "bi" #Addition to vocals in translation
r = 0
for letter in phrase:
if letter.lower() in "aeiou" and i == 0:
translation = translation + letter
i = 1
elif letter.lower() in "aeiou" and i == 1:
translation = translation + letter + k
i = 0
elif letter.lower() not in "aeiou" and i == 1:
translation = translation + k + letter
i = 0
elif letter.lower() not in "aeiou":
translation = translation + letter
return translation
print(translate(input("Enter your phrase: ")))