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