Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- code = list(input())
- string = [0 for _ in range(30000)]
- # Указатель в нашей закольцованной строке
- ss = 0
- # Указатель в нашем коде
- cc = 0
- while True:
- # Если больше чем индекс конца кода - программа завершилась
- if cc > len(code) - 1:
- break
- if code[cc] == '+':
- string[ss] += 1
- if string[ss] >= 255:
- string[ss] %= 256
- elif code[cc] == '-':
- string[ss] -= 1
- if string[ss] < 0:
- string[ss] = 256 - 1
- elif code[cc] == '>':
- ss += 1
- if ss >= 30000:
- ss = 30000 - ss
- elif code[cc] == '<':
- ss -= 1
- if ss < 0:
- ss = 30000 - 1
- elif code[cc] == '[':
- while string[ss] != 0:
- # В следующей строчке добавляем к индексу "cc" потому что "code[cc:]" - это новый список с новой индексацией
- for i in range(cc + 1, code[cc:].index(']') + cc + 2):
- if code[i] == '+':
- string[ss] += 1
- if string[ss] >= 255:
- string[ss] %= 256
- elif code[i] == '-':
- string[ss] -= 1
- if string[ss] < 0:
- string[ss] = 256 - 1
- # Здесь по такому же принципу добавляем "cc"
- cc = code[cc:].count(']') + cc + 1
- elif code[cc] == '.':
- print(str(string[ss]))
- cc += 1
- # +.>.+>+>+>+++>+++++<[-].>.
- # Люблю моего Котика)0))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement