Advertisement
alex0sunny

euroenglish

Sep 6th, 2022
704
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.08 KB | None | 0 0
  1. def euro_english(s):
  2.     out = [' ']
  3.     s = ' ' + s + ' '
  4.     i = 0
  5.     while i < len(s):
  6.         for art in 'a an the'.split():
  7.             if s[i: i+len(art)].lower() == art and not out[-1].isalpha() and not s[i+len(art)].isalpha():
  8.                 i += len(art)
  9.         to_upper = s[i].isupper()
  10.         char = s[i].lower()
  11.         if s[i] == 'e' and not s[i+1].isalpha() and out[-1].isalpha():
  12.             char = None
  13.         elif s[i: i+2].lower() in 'ce ci'.split():
  14.             char = 's'
  15.         elif s[i].lower() == 'c':
  16.             char = 'k'
  17.         elif s[i: i+2].lower() in 'ee oo'.split():
  18.             char = 'i' if s[i+1] == 'e' else 'u'
  19.         if char:
  20.             out.append(char.upper() if to_upper else char)
  21.         i += 1 + (s[i: i+2].lower() in 'ee oo'.split())
  22.         while len(out) > 1 and out[-1] == out[-2].lower() and (out[-1].isalpha() or out[-1] == ' '):
  23.             del out[-1]
  24.     if out and out[-1] == ' ':
  25.         del out[-1]
  26.     if out and out[0] == ' ':
  27.         del out[0]
  28.     return ''.join(out)
  29.  
  30.  
  31. s = input()
  32. print(euro_english(s))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement