csc-python-solutions/15/a/4 - BASIC Simulator.py

25 lines
543 B
Python
Raw Normal View History

2021-02-17 09:30:30 +00:00
def getBASIC():
res = []
x=""
while not "END" in x.split():
x = input()
res.append(x)
return res
def findLine(prog, target):
for i in prog:
if i.split()[0] == target:
return prog.index(i)
def execute(prog):
lines = set()
location = 0
while True:
lines.add(location)
if location==len(prog)-1: return "success"
location = findLine(prog, prog[location].split()[-1])
if location in lines: return "infinite loop"
if __name__ == "__main__":
print(execute(getBASIC()))