我遇到了以下问题:
定义一个函数 findLine(prog, target) 来执行以下操作。假设 prog 是一个包含 BASIC 程序的字符串列表,例如 getBASIC() 生成的类型;假设 target 是一个包含行号的字符串,它是 GOTO 语句的目标。该函数应返回索引 i(一个介于 0 和 len(prog)-1 之间的数字),使得 prog[i] 是其标签等于 target 的行。
示例输入/输出:如果调用
findLine(['10 GOTO 20','20 END'], '10')
则输出应为 0,因为列表的第 0 项是标签为 10 的行。
这是我的代码:
def findLine(prog, target):
for l in range(0, len(prog)-1):
progX = prog[l].split()
for i in range(0, len(progX)):
if progX[i] == target:
ans = progX[i]
return prog.index(ans)
正如您从代码中可以看出的那样,我即将完成(至少我认为我是),但我已经变得相当坚持这一点。但是,我不知道如何识别 prog 中的哪个索引包含 progX 中的字符串。提前感谢您对此的任何帮助。