我目前正在开发一个名为getBASIC()
的函数。这就是为什么我要做到这一点:
编写一个不带参数的函数getBASIC()
,并执行以下操作:它应该使用while循环继续读取输入行;当它到达结尾时,它应该以字符串列表的形式返回整个程序。
程序以以下形式输入:
X GOTO Y
Y GOTO Z
Z END
依此类推。
我的代码如下:
def getBASIC():
l = []
while len(i.split()) == 3:
i = input()
l.append(i)
return(l)
问题是,我得到UnboundLocalError: local variable 'i' referenced before assignment
。现在我知道为什么会这样,但我突然变成了一个白痴,无法弄清楚如何解决它。帮助调试这将不胜感激。感谢。
答案 0 :(得分:3)
简单的解决方案
i = input()
l.append(i)
while len(i.split()) == 3:
i = input()
l.append(i)
其他解决方案:
while True:
i = input()
l.append(i)
if len(i.split()) != 3:
break
答案 1 :(得分:0)
def getBASIC():
l = []
x = 1
while x == 1:
i = input()
l.append(i)
if len(i.split()) != 3:
x = 0
return l