Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- s = input()
- field = [0] * 30000
- i_cur = 0
- cycled_b = list()
- i = 0
- ignore = False
- ignore_item = 0
- while i < len(s):
- elem = s[i]
- if cycled_b and elem == ']':
- if ignore and cycled_b[-1] == ignore_item:
- ignore = False
- continue
- if field[i_cur] != 0 and not ignore:
- i = cycled_b.pop() - 1
- else:
- cycled_b.pop()
- elif elem == '>' and not ignore:
- i_cur = (i_cur + 1) % 30000
- elif elem == '<' and not ignore:
- i_cur = (i_cur - 1) % 30000
- elif elem == '+' and not ignore:
- field[i_cur] = (field[i_cur] + 1) % 256
- elif elem == '-' and not ignore:
- field[i_cur] = (field[i_cur] - 1) % 256
- elif elem == '.' and not ignore:
- print(field[i_cur])
- elif elem == '[':
- cycled_b.append(i)
- if field[i_cur] == 0 and not ignore:
- ignore_item = i
- ignore = True
- i += 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement