正如标题所示,我目前正在使用 Python 开发 BASIC 模拟器。这个程序应该打印“成功”或“无限循环”,这取决于哪个是真的。这是我的代码:
def findLine(prog, target):
for l in range(0, len(prog)):
progX = prog[l].split()
if progX[0] == target:
return l
def execute(prog):
location = 0
while True:
if location==len(prog)-1: return "success"
else: return "infinite loop"
T = prog.split()[location]
location = findLine(prog, T)
FindLine 应该接受这样的输入:findLine(['10 GOTO 20', '20 END'], '20') 并输出出现目标的 prog 的索引。
execute 应该接受这样的输入: execute(['10 GOTO 21', '21 GOTO 37', '37 GOTO 21', '40 END'])
问题是,这段代码的“def execute(prog)”部分被破坏了,我需要一些帮助来修复它,这样它才能完成我之前描述的操作。任何有关调试的帮助将不胜感激,如果这有点含糊,我深表歉意——我不太确定要写什么。