Advertisement
Guest User

Пусику

a guest
Dec 16th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.69 KB | None | 0 0
  1. code = list(input())
  2. string = [0 for _ in range(30000)]
  3.  
  4. # Указатель в нашей закольцованной строке
  5. ss = 0
  6.  
  7. # Указатель в нашем коде
  8. cc = 0
  9.  
  10. while True:
  11.     # Если больше чем индекс конца кода - программа завершилась
  12.     if cc > len(code) - 1:
  13.         break
  14.     if code[cc] == '+':
  15.         string[ss] += 1
  16.         if string[ss] >= 255:
  17.             string[ss] %= 256
  18.        
  19.     elif code[cc] == '-':
  20.         string[ss] -= 1
  21.         if string[ss] < 0:
  22.             string[ss] = 256 - 1
  23.    
  24.     elif code[cc] == '>':
  25.         ss += 1
  26.         if ss >= 30000:
  27.             ss = 30000 - ss
  28.  
  29.     elif code[cc] == '<':
  30.         ss -= 1
  31.         if ss < 0:
  32.             ss = 30000 - 1
  33.  
  34.     elif code[cc] == '[':
  35.         while string[ss] != 0:
  36.             # В следующей строчке добавляем к индексу "cc" потому что "code[cc:]" - это новый список с новой индексацией
  37.             for i in range(cc + 1, code[cc:].index(']') + cc + 2):
  38.                 if code[i] == '+':
  39.                     string[ss] += 1
  40.                     if string[ss] >= 255:
  41.                         string[ss] %= 256
  42.  
  43.                 elif code[i] == '-':
  44.                     string[ss] -= 1
  45.                     if string[ss] < 0:
  46.                         string[ss] = 256 - 1
  47.         # Здесь по такому же принципу добавляем "cc"
  48.         cc = code[cc:].count(']') + cc + 1
  49.  
  50.     elif code[cc] == '.':
  51.         print(str(string[ss]))
  52.     cc += 1
  53.  
  54. # +.>.+>+>+>+++>+++++<[-].>.
  55. # Люблю моего Котика)0))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement