0

我目前正在研究一个名为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. 现在我知道这是为什么了,但我突然变成了一个白痴,不知道如何解决它。帮助调试这将不胜感激。谢谢。

4

2 回答 2

3

Simple solution

   i = input()
   l.append(i)
   while len(i.split()) == 3:
       i = input()
       l.append(i)

other solution:

    while True:
        i = input()
        l.append(i)
        if len(i.split()) != 3:
            break
于 2013-03-31T16:36:06.940 回答
0
    def getBASIC():
   l = []
   x = 1
   while x == 1:
      i = input()
      l.append(i)
      if len(i.split()) != 3:
         x = 0
   return l
于 2013-03-31T17:15:50.557 回答