fork download
  1. __author__ = 'thunder'
  2.  
  3. from sys import stdin
  4.  
  5. data = (
  6. ('0', 'no'),
  7. ('1', 'pa'),
  8. ('2', 're'),
  9. ('3', 'ci'),
  10. ('4', 'vo'),
  11. ('5', 'mu'),
  12. ('6', 'xa'),
  13. ('7', 'ze'),
  14. ('8', 'bi'),
  15. ('9', 'so'),
  16. )
  17.  
  18. def blocky_changer(source, dict_of_replaces, block_size=2):
  19.  
  20. def split_len(seq, length):
  21. return [seq[i:i+length] for i in range(0, len(seq), length)]
  22.  
  23. blocks = split_len(source, block_size) if block_size > 1 else source
  24. return map(lambda x: dict_of_replaces[x], blocks)
  25.  
  26.  
  27. def str_blocky_changer(source_string, dict_of_replaces, block_size=1):
  28. return "".join(blocky_changer(source_string, dict_of_replaces, block_size))
  29.  
  30. int_li_dict = dict(data)
  31. li_int_dict = {v: k for k, v in int_li_dict.iteritems()}
  32.  
  33.  
  34. def namcu_to_int(text):
  35. return int(str_blocky_changer(text, li_int_dict, 2))
  36.  
  37. def int_to_namcu(number):
  38. return str_blocky_changer(str(number), int_li_dict)
  39.  
  40. if __name__ == "__main__":
  41. number_or_namcu = stdin.read()
  42.  
  43. number = None
  44. namcu = None
  45.  
  46. try:
  47. number = int(number_or_namcu)
  48. except ValueError:
  49. namcu = number_or_namcu
  50.  
  51. if number:
  52. print int_to_namcu(number)
  53. else:
  54. print namcu_to_int(namcu)
Success #stdin #stdout 0.08s 8888KB
stdin
100000
stdout
panonononono