Python :: Aufgabe #117 :: Lösung #1

6 Lösungen Lösungen öffentlich
#117

Pig Latin - Schweine Latein

Anfänger - Python von DrizZle - 15.06.2016 um 13:57 Uhr
Hier zum Wikipedia Post

Einführung:

Zitat:

Pig Latin (engl.; wörtlich: Schweine-Latein) bezeichnet eine Spielsprache, die im englischen Sprachraum verwendet wird.
Sie wird vor allem von Kindern benutzt, aus Spaß am Spiel mit der Sprache oder als einfache Geheimsprache, mit der Informationen vor Erwachsenen oder anderen Kindern verborgen werden sollen.


Erklärung:

Zitat:

Beginnt das Wort mit einem Konsonanten, so wird der initiale Konsonant oder Konsonantencluster ans Ende des Wortes verschoben und ein „ay“ angehängt. Zu betrachten ist hierbei nicht die Rechtschreibung, sondern die tatsächliche Aussprache: „Stumme“ Konsonantenbuchstaben, wie z. B. das „h“ in „honor“, sind keine Konsonanten.

loser → oser-lay
button → utton-bay
star → ar-stay
three → ee-thray
question → estion-quay
happy → appy-hay
Pig Latin → Ig-pay Atin-lay

Beginnt das Wort mit einem Vokal oder einem stummen Konsonanten, so wird direkt ein „ay“ angehängt.

eagle → eagle-ay
America → America-ay
honor → honor-ay


Aufgabe:
Schreibt ein Programm welches ein belibiges Wort ins Schweine Latein umwandelt und ausgibt. Auf die Regel mit Stummen H's kann man verzichten.
#1
3 Kommentare
vote_ok
von ah3n0bar6us (660 Punkte) - 16.07.2016 um 17:20 Uhr
Eine Lösung, ohne die Beachtung des Stummen 'h':

Quellcode ausblenden Python-Code
#!/usr/bin/env python3
def pigLatin(testWord):
        #testWord = input("Welches Wort soll umgewandelt werden? ")
        vowel = ["a","e","i","o","u","A","E","I","O","U"];
        wordResult = ""
        if testWord[0] in vowel:
            wordResult = testWord +"ay"
        else:
            wordResult = testWord.replace(testWord[0], "") + testWord[0] + "ay"

        print(wordResult)

def main():
    for i in ["This", "is", "an", "example", "of", "Pig", "Latin"]:
        pigLatin(i)

if __name__ == "__main__":
    main()

Kommentare:

Nachbar

Punkte: 2820

30 Aufgaben
67 Lösungen
44 Kommentare

#1
04.08.2016 um 19:52 Uhr
Bin mal aus Interesse mit deinem Code die Beispielbegriffe aus der Aufgabenstellung durchgegangen. Einige hauen allerdings im Ergebnis nicht ganz hin (z. B. 'star' oder 'three'). Die Regel mit dem stummen h hab ich auch weggelassen.
post_arrow
343 0

ah3n0bar6us

Punkte: 660

20 Aufgaben
12 Lösungen
2 Kommentare

#2
05.08.2016 um 08:54 Uhr
Hallo Nachbar =)
Dank dir für den Kommentar. Gut, dass du das geprüft hast. ich kann leider momentan keinen Fehler entdecken. Welche Testvarianten hast du denn eingegeben und was müsste denn herauskommen?
LG Ah3
post_arrow
344 0

Nachbar

Punkte: 2820

30 Aufgaben
67 Lösungen
44 Kommentare

#3
05.08.2016 um 21:09 Uhr
Hi Ah3,

ich habe mich an diesen Beispielen orientiert:

loser → oser-lay
button → utton-bay
star → ar-stay
three → ee-thray
question → estion-quay
happy → appy-hay
Pig Latin → Ig-pay Atin-lay

Also bei dem Wort 'star' kommt bei deiner Variante z. B. 'tarsay' raus. Lt. den Beispielen müsste es aber 'arstay' heißen. Ich hatte es so verstanden, dass alle Konsonanten vor dem ersten Vokal nach hinten rutschen (und dann das 'ay' angehängt bekommen), nicht nur der erste.

Schöne Grüße :o)
post_arrow
345 0
Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben