You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

#### 28 lines 775 B Raw Permalink Blame History

 ```code = input() ``` ```l = len(code) ``` ```acc = 0 ``` ```pos = 0 ``` ```incr = 1 ``` ```num_lookup = { "zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9 } ``` ```while pos < l: ``` ``` char = code[pos] ``` ``` if char == "i": ``` ``` h, g = list(range(pos + 1, l)), list(range(pos - 1, 0, -1)) ``` ``` for i in h + g if incr == 1 else g + h: ``` ``` if code[i] == "i": ``` ``` pos = (i + 1) % l ``` ``` break ``` ``` continue ``` ``` elif char == "p": pos += incr ``` ``` elif char == "a": acc += 1 ``` ``` elif char == "e": acc -= 1 ``` ``` elif char == "v": incr *= -1 ``` ``` elif char == "~": ``` ``` acc = 0 ``` ``` for x, n in enumerate(reversed(input().split(" "))): acc += 10**x * num_lookup[n] ``` ``` elif char == "`": print(end=chr(acc)) ``` ``` elif char == "[": ``` ``` if acc != 0: ``` ``` acc = int(str(acc) + bin(acc)[2:]) ``` ``` else: print("wrong.") ``` ` pos += incr`