1. #1
    Avatar von Imperativ
    Registriert seit
    08.08.2013
    Beiträge
    30
    Thanked 10 Times in 9 Posts

    Standard Pig Latin Übersetzer (simple Version)

    Guten Tag,
    da es in meinen Augen hier viel zu wenig Aufgaben gibt,
    habe ich mich nun von der Seite "Codecademy" inspirieren lassen
    und einen "Pig Latin Übersetzer" (der Teil der dortigen Aufgabe war)
    geschrieben.

    Erklärung
    Bei Wörtern, die mit einem Vokal anfangen, wird einfach nur ein "ay" angehangen.
    Bei Wörtern, die mit einem Konsonant anfangen, wird der Konsonant ans Ende des Wortes angehangen und dann
    "ay" dahintergesetzt.


    (Konsonant) Python -> ythonpay
    (Vokal) Imperativ -> imperativay

    Weiterführendes (Wiki)
    (Natürlich steht es euch frei, die kompletten Regeln so zu übernehmen, wie sie in der Wikipedia stehen.)


    Aufgabe:
    Schreibe einen (simplen) Pig Latin Übersetzer, der prüft ob das eingegebene Wort nur aus Buchstaben besteht, Konsonanten von Vokalen unterscheiden kann
    und dann die Übersetzung vornimmt.


    Lösung: (Python)

    Spoiler:
    PHP-Code:
    def PigLatin():
        
        
    pig "ay"      
        
    original input("Geben Sie ein Wort ein: "


        if 
    len(original) > and original.isalpha(): 
            
    word original.lower() 
            
    first word[0]
            if 
    first == 'a' or first == 'e' or first == 'i' or first == 'o' or first == 'u':
                
    new_word word pig
                
    print(new_word)
                
    PigLatin()
                
            else:
                
    new_word word[1:] + word[0] + pig  
                
    print(new_word)
                
    PigLatin()
            
        
        else:
            print(
    "Falsche Eingabe. Versuchen Sie es erneut.")
            
    PigLatin()

    PigLatin() 




    Gruß

    Imperativ

  2. The Following 2 Users Say Thank You to Imperativ For This Useful Post:

    Max899 (13.08.2013), ThunderStorm (13.08.2013)

  3. #2
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard AW: Pig Latin Übersetzer (simple Version)

    Kurze Version in PHP

    PHP-Code:
    <?php
    $pig 
    'ay';
    $input 'imperativ';
    echo (
    $input{0} == 'a' || $input{0} == 'e' || $input{0} == 'i' || $input{0} == 'o' || $input{0} == 'u') ? substr($input1strlen($input)) . substr($input01) . $pig $input $pig ;
    ?>

  4. The Following User Says Thank You to Snees For This Useful Post:

    Imperativ (13.08.2013)

  5. #3

    Registriert seit
    19.11.2011
    Beiträge
    496
    Thanked 412 Times in 268 Posts

    Standard AW: Pig Latin Übersetzer (simple Version)

    Scala:
    Code:
    object PigLatin extends App {
      println("python".toPigLatin)
      println("imperativ".toPigLatin)
      println("w0rt".toPigLatin)
      
      implicit class PigLatinString(private val str:String) {
        def toPigLatin: String = {
          require(isWord(str), str + " is not a word")
          if (isVowel(str(0)))
            str + "ay"
          else
            str.substring(1) + str(0) + "ay"
        }
        def isWord(str: String): Boolean = str.forall(Character.isLetter(_))
        def isVowel(ch: Char): Boolean = "aeiou" contains ch.toLower
      }
    }

  6. The Following User Says Thank You to Mr. White For This Useful Post:

    Imperativ (15.08.2013)

  7. #4
    Avatar von Ta1lor
    Registriert seit
    15.11.2011
    Beiträge
    767
    Thanked 832 Times in 435 Posts

    Standard AW: Pig Latin Übersetzer (simple Version)

    Code:
    #!/usr/bin/perl
    my $str = "python";
    my $pig = "ay";
    if ($str =~ /^[^aeiou]/) {
      $str =~ s/^(.)(.*)(.)$/$2$3$1$pig/;
      print $str;
    } else { print $str . $pig; }
    so? Keine ahnung ob ich das richtig verstanden habe ^^

    1liner:
    Code:
     perl -pe 's/(?=^[^aeiou])(^(.)(.*)(.)$)|(^[aeiou].*)/$3$4$2$5ay/' <<< "imperativ"
    Geändert von Ta1lor (13.08.2013 um 20:49 Uhr)

  8. The Following User Says Thank You to Ta1lor For This Useful Post:

    Imperativ (15.08.2013)

Ähnliche Themen

  1. [Sammelthread] Google Übersetzer fails
    Von DMW007 im Forum OffTopic
    Antworten: 2
    Letzter Beitrag: 25.03.2013, 22:34
  2. English - Deutsch Übersetzer
    Von Saad im Forum Software
    Antworten: 4
    Letzter Beitrag: 28.09.2012, 20:56
  3. Simple Channelhopping
    Von Sploxfreak im Forum Sourcecode
    Antworten: 9
    Letzter Beitrag: 02.06.2012, 11:15
  4. [Alpha-Version] Simple Multi Login
    Von uncopyable im Forum Showroom
    Antworten: 40
    Letzter Beitrag: 23.04.2012, 08:22
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.