如何在循环结束时将变量定义在内部

时间:2015-10-14 13:59:18

标签: python variables python-3.x while-loop

我使用的是Python 3.5。我正在使用while循环,并更改用户输入的内部变量(已由用户定义):

variable = eval(input("[...]"))
while [input isn't what the user is expected to enter]:
    variable = eval(input("[Asking to enter a correct input]"))

因此,当用户输入正确的值时,循环结束。然而,作为"变量"当用户为"变量"分配正确的值时,在while循环内定义循环结束,"变量"的第一个(和不正确的)值。被认为是该计划的其余部分。

如何才能使记忆中的值在while循环中定义?

2 个答案:

答案 0 :(得分:0)

似乎您正在重新定义while循环中的全局变量。要引用外部变量',您需要将其声明为全局变量。看看:

Using global variables in a function other than the one that created them

你宣称它的方式,内在的变量'被创建为与外部变量'不同的变量。 (即使它们具有相同的名称),并且当while循环结束时它会被丢弃,因此您最终会引用原始(全局)变量'。

答案 1 :(得分:0)

实际上,您的代码已经是这种情况了。如果while循环开始,则保留在循环内设置的variable的值。