DeaD_EyE

löffelsprache.py

Feb 22nd, 2021 (edited)
330
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.87 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. """
  4. Idee: https://www.youtube.com/watch?v=1j91ho70I3o&ab_channel=EmmasHorseworld
  5. Quelle: https://wortwuchs.net/loeffelsprache/
  6. """
  7.  
  8. import random
  9.  
  10. ALPHABET = {
  11.     "a": ["alewa"],
  12.     "ö": ["ölewö"],
  13.     "e": ["elewe"],
  14.     "ü": ["ülewü"],
  15.     "i": ["ilewi"],
  16.     "ei": ["elewei", "eilewei"],
  17.     "o": ["olewo"],
  18.     "ie": ["ilewie", "ielewie"],
  19.     "u": ["ulewu"],
  20.     "au": ["alewau", "aulewau"],
  21.     "ä": ["älewä"],
  22. }
  23.  
  24.  
  25. TEST = {
  26.     "Guten Morgen!": "Gulewutelewen Moleworgelewen!",
  27.     "Wann hast du Zeit?": "Walewann halewast dulewu Zeileweit?",
  28.     "Wo gehst du hin?": "Wolewo gelewehst dulewu hilewin?",
  29.     "Wann kommst du zu mir?": "Walewann kolewommst dulewu zulewu milewir?",
  30.     "Wie spät ist es?": "Wilewie spälewät ilewist elewes?",
  31.     "Wie geht es dir?": "Wielewie geleweht elewes dilewir?",
  32.     "Ich habe Hunger!": "Ilewich halewabelewe Hulewungelewer!",
  33.     "Ich lerne.": "Ilewich lelewernelewe.",
  34. }
  35.  
  36.  
  37. def translate(text):
  38.     result = []
  39.     for char in text:
  40.         was_upper = char.isupper()
  41.         if (chr_lower := char.lower()) in ALPHABET:
  42.             replacement = random.choice(ALPHABET[chr_lower])
  43.             if was_upper:
  44.                 replacement = replacement.title()
  45.             result.append(replacement)
  46.         else:
  47.             result.append(char)
  48.     return "".join(result)
  49.  
  50.  
  51. def test_translator():
  52.     for clear_text, translation in TEST.items():
  53.         result = translate(clear_text)
  54.         print("Klartext")
  55.         print("========")
  56.         print(clear_text)
  57.         print()
  58.         print("Übersetzung")
  59.         print("===========")
  60.         print(translation)
  61.         if result == translation:
  62.             print("Übersetzung [ok]")
  63.         else:
  64.             print(f"Übersetzung [unterschiedlich]: '{translation}' != '{result}'")
  65.         print()
  66.  
  67.  
  68. test_translator()
  69.  
Add Comment
Please, Sign In to add comment