我不太确定如何表达标题。
operation = ("Addition", "Subtraction", "Multiplication", "Division")
def choose():
input("Choose an operation: ").casefold().strip()
def operations():
for op in operation:
index = operation.index(op) + 1
print(index, ".", op)
operations()
choose()
当我运行此命令时,输出是名称列表,其下方是问题。但是,如果我将输入提示转换为变量,则只会运行问题,并且列表基本上会被忽略。
operation = ("Addition", "Subtraction", "Multiplication", "Division")
choose = input("Choose an operation: ").casefold().strip()
def operations():
for op in operation:
index = operation.index(op) + 1
print(index, ".", op)
operations()
choose
原因是什么?
如果我放
operations()
input("Choose an operation: ").casefold().strip()
然后这也会运行列表和问题。但我需要返回值供以后使用,所以这不会有好处。
我不明白为什么函数可以工作但变量会阻塞循环?
但是如果我把输入提示变成变量
您没有将输入提示转换为变量,而是将提示的结果分配给该变量,因此它会在该点执行。
之后,脚本调用
operations()
函数,并显示变量。
第一个示例是执行您想做的操作的正确示例(当然,可能还有更多解决方案)。 在第二个提示中,提示不会阻止循环,它发生在提示之后。