Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.20 KB | None | 0 0
  1. def remove_vowels(s: str) -> list:
  2.     vowels_lst = ['a', 'e', 'h', 'i', 'o', 'u', 'w', 'y']
  3.     result = []
  4.     for idx, c in enumerate(s):
  5.         if c not in vowels_lst or idx == 0:
  6.             result.append(c)
  7.     return result
  8.  
  9.  
  10. def enumerate_non_vowels(s: list) -> list:
  11.     mapping = {
  12.         'b': '1',
  13.         'f': '1',
  14.         'p': '1',
  15.         'v': '1',
  16.  
  17.         'c': '2',
  18.         'g': '2',
  19.         'j': '2',
  20.         'k': '2',
  21.         'q': '2',
  22.         's': '2',
  23.         'x': '2',
  24.         'z': '2',
  25.  
  26.         'd': '3',
  27.         't': '3',
  28.  
  29.         'l': '4',
  30.  
  31.         'm': '5',
  32.         'n': '5',
  33.  
  34.         'r': '6'
  35.     }
  36.     return [mapping[x] if x in mapping else x for x in s]
  37.  
  38.  
  39. def remove_repeating_numbers(s: list) -> list:
  40.     result = []
  41.     for c in s:
  42.         if len(result) == 0 or c != result[-1]:
  43.             result.append(c)
  44.     return result
  45.  
  46.  
  47. def encode_string(s: str) -> str:
  48.     s = remove_vowels(s)
  49.     s = enumerate_non_vowels(s)
  50.     s = remove_repeating_numbers(s)
  51.     while len(s) < 4:
  52.         s.append('0')
  53.     s = s[:4]
  54.     return "".join(s)
  55.  
  56.  
  57. def main():
  58.     s = input()
  59.     print(encode_string(s))
  60.  
  61.  
  62. if __name__ == '__main__':
  63.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement