从输入返回字符串列表

时间:2013-03-31 16:31:17

标签: python python-3.x

我目前正在开发一个名为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。现在我知道为什么会这样,但我突然变成了一个白痴,无法弄清楚如何解决它。帮助调试这将不胜感激。感谢。

2 个答案:

答案 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