def block(code): opened = [] blocks = {} for i in range(len(code)): if code[i] == '[': opened.append(i) elif code[i] == ']': blocks[i] = opened[-1] blocks[opened.pop()] = i return blocks def parse(code): return ''.join(c for c in code if c in '><+-.,[]') def run(code): code = parse(code) x = i = 0 bf = {0: 0} blocks = block(code) l = len(code) while i < l: sym = code[i] if sym == '>': x += 1 bf.setdefault(x, 0) elif sym == '<': x -= 1 elif sym == '+': bf[x] += 1 elif sym == '-': bf[x] -= 1 elif sym == '.': print(chr(bf[x]), end='') elif sym == ',': bf[x] = int(input('Input: ')) elif sym == '[': if not bf[x]: i = blocks[i] elif sym == ']': if bf[x]: i = blocks[i] i += 1 code = input() run(code) Python def block(code): opened = [] blocks = {} for i in range(len(code)): if code[i] == '[': opened.append(i) elif code[i] == ']': blocks[i] = opened[-1] blocks[opened.pop()] = i return blocks def parse(code): return ''.join(c for c in code if c in '><+-.,[]') def run(code): code = parse(code) x = i = 0 bf = {0: 0} blocks = block(code) l = len(code) while i < l: sym = code[i] if sym == '>': x += 1 bf.setdefault(x, 0) elif sym == '<': x -= 1 elif sym == '+': bf[x] += 1 elif sym == '-': bf[x] -= 1 elif sym == '.': print(chr(bf[x]), end='') elif sym == ',': bf[x] = int(input('Input: ')) elif sym == '[': if not bf[x]: i = blocks[i] elif sym == ']': if bf[x]: i = blocks[i] i += 1 code = input() run(code) > — сдвинуть указатель на следующую ячейку. < — сдвинуть указатель на предыдущую ячейку. + — увеличить значение текущей ячейки на 1. — — уменьшить значение текущей ячейки на 1. . — вывести значение текущей ячейки. , — записать значение в текущую ячейку(=input). [ — начало цикла, который выполняется пока значение текущей ячейки не ноль. ] — конец цикла. Если значение текущей ячейки ноль, то цикл прекращается, иначе — выполняется от предыдущего знака [. Пример работы: ++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
lleryX, ++++++++++[>++++++++>+++++++++++>++++++++++>+++++++++++>++++++++++>++++++++++>+++++++++++>++++<<<<<<<<-]>+++.>++.>---.>+++++.>+++++.>--.>+.>+.