Python :: Aufgabe #349 :: Lösung #2
 
                       
        2 Lösungen
         
         
        
      
                
       
        
      #349
Vokale tauschen (rückwärts ausgeben)
        Anfänger - Python
        von JKooP
         - 16.04.2021 um 21:31 Uhr
      
       
      
        Gegeben ist eine Zeichenkette (Wort) welche nur aus Groß- und Kleinbuchstaben gebildet wird.
Ziel ist es, die Zeichen so zu verändern, dass der erste Vokal mit dem letzten, der zweite mit dem vorletzten
und so weiter getauscht wird. Konsonanten werden nicht verändert.
Groß- und Kleinschreibung soll beachtet werden.
Beispiele:
s = Hallo
Lösung: Holla
s = Heidi
Lösung: Hiide (Das "i" in der Mitte bleibt erhalten, da kein Tauschpartner vorhanden!)
s = trAInyOUrprOgrAmmEr
Lösung: trEAnyOUrprOgrImmAr
Erstelle eine Methode/Funktion, die oben beschriebene Aufgabenstellung erledigt.
Viel Spaß
                                         
           
                     
        
           
           
        
           
        
        
        
        
        
        
        
        
        
      
           
    Ziel ist es, die Zeichen so zu verändern, dass der erste Vokal mit dem letzten, der zweite mit dem vorletzten
und so weiter getauscht wird. Konsonanten werden nicht verändert.
Groß- und Kleinschreibung soll beachtet werden.
Beispiele:
s = Hallo
Lösung: Holla
s = Heidi
Lösung: Hiide (Das "i" in der Mitte bleibt erhalten, da kein Tauschpartner vorhanden!)
s = trAInyOUrprOgrAmmEr
Lösung: trEAnyOUrprOgrImmAr
Erstelle eine Methode/Funktion, die oben beschriebene Aufgabenstellung erledigt.
Viel Spaß
#2
 
                 
        von Nikida (50 Punkte)
         - 28.04.2021 um 17:34 Uhr
       Python-Code
 Python-Code
#die folgende Funktion, bekommt das zu verändernde Wort, die Position des zu tauschenden Buchstaben und der einzusetzende Buchstabe mitgegeben 
def ersetzen (eingabe, a, b):
    #im folgenden wird das zu verändernde Wort bis zu der übermittelten Position a ausgegeben, dann der Buchstabe b eingesetzt und dann der Rest des Wortes ausgegeben
    if a==0:
        return b + eingabe[1:]
    else: 
        return eingabe[:a] + b + eingabe[a+1:]
eingabe = input("Geben Sie ein Wort ein: ")
zaehler1 = int
zaehler1 = 0
position = []
Anzahl = 0
#im folgenden Startet eine Schleife, die den Inhalt der Eingabe überprüft und nach Vokalen überprüft
wort = len(eingabe) - 1
while zaehler1 <= wort:
    #damit auch Großbuchstaben erkannt werden, wird das eingegebene Wort in Kleinbuchstaben als Kopie abgespeichert und dann auf Vokale untersucht
    klein = eingabe.lower()
    if klein[zaehler1] == "a" or klein[zaehler1] == "e" or klein[zaehler1] == "i" or klein[zaehler1] == "o" or klein[zaehler1] == "u":
        #in der folgenden Zeile wird die Position des Vokals gespeichert und dann der Zähler für die Anzahl der Vokale erhöht
        position.append(zaehler1)
        Anzahl += 1
    #mit zaehler1 wird das Wort Buchstabe für Buchstabe durchsucht, im folgenden wird daher der Zähler um 1 erhöht um den nächsten Buchstaben zu untersuchen    
    zaehler1 += 1
#im folgenden wird geprüft, ob es überhaupt einen Vokal im Wort gibt
if Anzahl > 0:
    #Der counter "Anzahl" muss um 1 verringert werden, da er nach Beenden der Schleife immer 1 größer ist als der Inhalt der Positionsliste     
    Anzahl -= 1
    zaehler2 = 0
    #im folgenden wird eine Schleife gestartet, die die Vokale vertauscht und dann wieder in das Wort einsetzt
    while zaehler2 <= Anzahl/2:
        #zu Beginn jeden Schleifendurchlaufs müssen die entsprechenden Vokale zwischengespeichert werden
        zwischenspeicher1 = eingabe[position[zaehler2]]
        zwischenspeicher2 = eingabe[position[Anzahl - zaehler2]]
        eingabe = ersetzen(eingabe, position[zaehler2], zwischenspeicher2)
        eingabe = ersetzen(eingabe, position[Anzahl - zaehler2], zwischenspeicher1)
        zaehler2 += 1
        
else:
    #Wenn das Wort keine Vokale enthält, wird dies dem Benutzer zurückgemeldet
    print("Ihr Wort enthält keine Vokale")
    
print("Das Wort mit den verdrehten Vokalen lautet %s."%(eingabe))
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
          
          
                 Seite 1 von 0
          
                 1
          
          
             
       
    
    
    

 
    
    
    