Python While Loop用户输入

本教程将讨论在Python中从用户多处获得输入,直到某个条件变成真的方法。

在Python3的while 循环中的用户输入

如果我们想继续要求用户输入,直到他们输入所需的值,我们可以在一个while 循环中使用input() 函数。

在编程中,有两种类型的循环,计数器控制的和哨兵控制的。在计数器控制的循环中,我们指定要执行循环的次数,而在哨兵控制的循环中,我们指定一个条件,需要保持"true" ,循环才能执行。

for 循环是一个计数器控制的循环,这意味着我们必须在循环执行前指定其运行的次数。

while 循环是一个哨兵控制的循环,这意味着它将一直执行,直到某个条件被满足。

要做到这一点,我们必须在循环外初始化我们的变量。下面的代码片段演示了我们如何在while 循环中使用input() 函数。

示例代码:

name = "not maisam"
while name != "maisam":
    name = input("please enter your name: ")
print("you guessed it right")

输出:

please enter your name: 123
please enter your name: abc
please enter your name: maisam
you guessed it right

上节的代码将不断要求用户输入数据,直到用户输入maisam

在Python2中的while 循环内的用户输入

不幸的是,上面提到的解决方案在python2中失败了。

为此,我们必须用raw_input() 函数替换我们的input() 函数。它接收用户的输入,并通过从输入中删除最后一个n 来返回结果。

这个[raw_input() 函数](raw_input – Python Reference (The Right Way) 0.1 documentation)在 python2 中相当于 python3 中的input() 函数。下面的代码示例显示了我们如何在一个while 循环中使用一个raw_input() 函数。

示例代码:

name = "not maisam"
while name != "maisam":
    name = raw_input("please enter your name: ")
print"you guessed it right"

输出:

please enter your name: 123
please enter your name: abc
please enter your name: maisam
you guessed it right

上节代码的工作方式与前面的例子相同,将不断要求用户输入数据,直到用户输入maisam