我的名单还是空的

2024-04-16 21:53:01 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的程序,目前我正在试图找出如何写一个函数作为一个列表。 每次执行此代码时,函数列表都保持为空。我是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]

Tags: 函数程序列表inputrawvarfunctionnum
3条回答

从命令中删除新行

command = raw_input()

command = raw_input().strip()

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

另外,在最后一个街区:

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

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

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

或者,更简单地说:

print function

这里有几个问题:

  • 您将立即将代码放入while循环,循环将被迭代,直到您输入"done",在这种情况下,if语句的计算结果都不是true。您希望将所有条件语句放在while循环中,因此每次迭代都要检查条件。你知道吗
  • 此外,您可以删除elif"done",因为一旦退出while循环,您就知道您的用户输入必须是"done"
  • append只接受一个参数,因此function.append("^", power)将失败。你知道吗

相关问题 更多 >