我的清单仍然是空的

时间:2015-04-13 18:10:35

标签: python

这是我的程序,目前我正在试图找出如何将函数编写为列表。 每次执行此代码时,函数列表仍为空。我是蟒蛇新手,新眼睛的一点故障排除对我来说真的很有帮助!

command = raw_input()
function = []

while command != "done":
    command = raw_input()

if command == "help":
    print "num"
    print "var"
    print "power"
    print "done"

elif command == "num":
    num = raw_input()
    num = int(num)
    function.append(num)
    print function

elif command == "power":
    power = raw_input()
    power = int(power)
    function.append("^", power)
    print function

elif command == "var":
    function.append("x")
    print function

elif command == "done":
    for i in function:
        print function[i]

3 个答案:

答案 0 :(得分:4)

这里有一些问题:

  • 您立即将代码放入while循环中,该循环将被迭代直到您输入"done",在这种情况下,您的if语句都不会评估为true }。您希望将所有条件语句放在while循环中,这样您就可以检查每次迭代的条件。
  • 此外,您可以在退出elif循环后删除"done"的{​​{1}},您知道您的用户输入必须为while
  • "done"只需要1个参数,因此append会失败。

答案 1 :(得分:0)

从命令

中删除新行

command = raw_input()

command = raw_input().strip()

答案 2 :(得分:0)

整个if / elif块需要缩进,以便它成为while循环的一部分。

另外,在最后一栏中:

elif command == "done":
    for i in function:
        print function[i]

迭代器返回值本身,而不是索引。所以,那就变成了:

elif command == "done":
    for i in function:
        print i

或者更简单:

print function