Python 我的名单还是空的

Python 我的名单还是空的,python,Python,这是我的程序,目前我正试图找出如何将函数写成列表。 每次执行此代码时,函数列表都保持为空。我是python新手,从“新鲜的眼睛”中进行一点故障排除现在对我来说真的很有帮助 command = raw_input() function = [] while command != "done": command = raw_input() if command == "help": print "num" print "var" print "power"

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

这里有几个问题:

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

这里有几个问题:

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

从命令中删除新行

command=raw\u input()


command=raw\u input().strip()
从命令中剥离新行

command=raw\u input()


command=raw\u 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

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

另外,在最后一个区块中:

elif command == "done":
    for i in function:
        print function[i]
迭代器返回值本身,而不是索引。这就变成了:

elif command == "done":
    for i in function:
        print i
或者,更简单地说:

print function

这是
函数。append(“^”,power)
可能吗?您会一直阅读命令,直到看到“完成”。除了“完成”之外,您的代码从不执行任何命令。“我的列表仍然是空的”是Python民谣中最悲哀的。这是
函数吗。是否可能追加(^),power)
呢?您一直在阅读命令,直到看到“完成”。你的代码除了“完成”之外从不执行任何命令。“我的列表仍然是空的”是Python民谣中最悲伤的一首。金刚驴同意。您必须相应地缩进以下
if/elif/elif/else
语句,以便它们包含在while循环中。然后确保if/elif
的每次迭代都在检查/询问当前值或提示输入命令的新值。如果为真,请这样做。否则检查
命令
等等……驴子孔,同意了。您必须相应地缩进以下
if/elif/elif/else
语句,以便它们包含在while循环中。然后确保if/elif
的每次迭代都在检查/询问当前值或提示输入命令的新值。如果为真,请这样做。否则请检查
命令
等等。。。