在Python中,为什么输入变量使循环不运行,但将其设为函数允许输入和循环运行?

问题描述 投票:0回答:1

我不太确定如何表达标题。

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()

然后这也会运行列表和问题。但我需要返回值供以后使用,所以这不会有好处。

我不明白为什么函数可以工作但变量会阻塞循环?

python function loops variables
1个回答
0
投票

但是如果我把输入提示变成变量

您没有将输入提示转换为变量,而是将提示的结果分配给该变量,因此它会在该点执行。

之后,脚本调用

operations()
函数,并显示变量。

第一个示例是执行您想做的操作的正确示例(当然,可能还有更多解决方案)。 在第二个提示中,提示不会阻止循环,它发生在提示之后。

© www.soinside.com 2019 - 2024. All rights reserved.