Festelo

Untitled

Oct 13th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.90 KB | None | 0 0
  1. import re
  2.  
  3.  
  4. def decode(symbols):
  5.     symbols_dict = {'-': -1, '0': 0, '+': 1}
  6.     deegre = 0
  7.     ret = 0
  8.     for s in reversed(symbols):
  9.         ret += symbols_dict[s] * 3 ** deegre
  10.         deegre += 1
  11.     return ret
  12.  
  13.  
  14. def encode(num):
  15.     s = ''
  16.     while abs(num) > 0:
  17.         r = num % 3
  18.         if r == 0:
  19.             s = '0' + s
  20.         else:
  21.             if r <= 1:
  22.                 s = '+' + s
  23.                 num = int(num / 3)
  24.             else:
  25.                 s = '-' + s
  26.                 num = int(num / 3) + 1
  27.     return s
  28.  
  29.  
  30. with open('input.txt', 'r') as file:
  31.     data = file.read()
  32.  
  33. parser = re.search('([0,\-,+]+)\s*\(([+,-])\)\s*([0,\-,+]+)', data)
  34. a = parser.group(1)
  35. b = parser.group(3)
  36.  
  37. if parser.group(2) == '+':
  38.     res = encode(decode(a) + decode(b))
  39. else:
  40.     res = encode(decode(a) - decode(b))
  41.  
  42. with open('output.txt', 'w') as file:
  43.     file.write(res)
Advertisement
Add Comment
Please, Sign In to add comment