如何构造while循环在Python 3

while循环实现基于给定布尔条件的代码的重复执行。 * while *语句计算结果为True时,* while *块中的代码将执行。

介绍

计算机程序非常适合用于自动化和重复任务,因此我们不必这样做。重复类似的任务的方法之一是通过使用循环 。 我们将涵盖在本教程Python的while循环 。 一个while循环实现了基于给定的代码重复执行布尔条件。 这是一个代码while块将执行,只要while语句计算为True。 你可以认为的while环路重复条件语句 。 在后if语句,程序继续执行代码,但在while循环,程序跳回while语句开始,直到条件为假。 相对于执行一定的次数, 循环 while循环有条件的基础,所以你不需要知道多少次重复的代码去英寸

而循环

在Python, while循环构造像这样:
while [a condition is True]:
    [do something]
正在进行的事情将继续执行,直到正在评估的条件不再是真的。 让我们创建一个小程序,执行while循环。在这个程序中,我们会要求用户输入密码。当经历这个循环时,有两种可能的结果:
  • 如果密码正确while循环将退出。
  • 如果密码正确, while循环将继续执行。
我们将创建一个名为password.py在我们选择的文本编辑器,通过初始化变量开始password为空字符串:
password.py
password = ''
空字符串将被用于在输入采取从内的用户while循环。 现在,我们要构建的while声明,其条件一起:
password.py
password = ''

while password != 'password':
在这里, while后跟可变password 。 我们正在寻找,看是否该变量password设置为字符串password (根据用户输入的版本),但你可以选择你想任何字符串。 这意味着,如果用户输入字符串password ,则该循环将停止,程序将继续循环的外面执行的任何代码。 但是,如果该字符串,该用户输入是不等于字符串password ,循环将继续下去。 接下来,我们将添加代码,做了一些内部的块while循环:
password.py
password = ''

while password != 'password':
    print('What is the password?')
    password = input()
里面的while循环,程序运行,对于密码提示print语句。 然后可变password被设置为用户的与输入input()函数。 程序将检查是否可变password被分配给该字符串password ,并且如果是,则while循环将结束。让我们给程序另一行代码,当发生这种情况:
password.py
password = ''

while password != 'password':
    print('What is the password?')
    password = input()

print('Yes, the password is ' + password + '. You may enter.')
最后print()语句是外while循环,因此当用户输入password的密码,他们会看到循环外最后的print语句。 但是,如果用户永远不会进入这个词password ,他们将永远不会获得了最后print()语句,并会停留在一个无限循环。 当程序保持一个循环中执行,从来没有离开过它发生一个无限循环 。 要退出命令行,按无限循环了CTRL + C 。 保存程序并运行:
python password.py
系统将提示您输入密码,然后可以使用各种可能的输入进行测试。这里是程序的输出示例:
What is the password?
hello
What is the password?
sammy
What is the password?
PASSWORD
What is the password?
password
Yes, the password is password. You may enter.
请记住,字符串是区分大小写的,除非你也可以使用一个字符串方法检查前的字符串转换为小写(例如)。

使用While循环的示例程序

现在我们了解的一般前提while循环,让我们创建一个使用命令行的猜谜游戏while有效地循环。 为了更好地理解这个程序是如何工作的,你也应该了解使用条件语句转换数据类型 。 首先,我们将创建一个名为guess.py在我们选择的文本编辑器。 我们希望计算机拿出随机数,为用户猜测,所以我们会导入random与模块import语句。 如果你不熟悉这个包,你可以了解更多关于从Python文档生成随机数
guess.py
import random
接下来,我们将指派一个随机整数变量number ,并保持它在范围1至25(含)的,希望它不会使游戏太困难。
guess.py
import random

number = random.randint(1, 25)
在这一点上,我们可以得到进我们while循环,首先初始化一个变量,然后创建循环。
guess.py
import random

number = random.randint(1, 25)

number_of_guesses = 0

while number_of_guesses < 5:
    print('Guess a number between 1 and 25:')

    guess = input()
    guess = int(guess)

    number_of_guesses = number_of_guesses + 1

    if guess == number:
        break
我们已经初始化变量number_of_guesses为0,从而使我们与循环的每次迭代增加它使我们不必无限循环。 然后,我们添加的while语句,以便number_of_guesses仅限于5总。在第五个猜测之后,用户将返回到命令行,而现在,如果用户输入一个整数以外的内容,他们将收到一个错误。 在循环中,我们增加了一个print()语句提示用户输入一个数字,我们用了在input()功能,并设置到guess变量。 然后,我们转换guess从一个字符串为整数。 循环结束之前,我们也想增加number_of_guesses 1变量,这样我们就可以通过循环5次迭代。 最后,我们写出一个条件if语句以查看是否guess该取得的用户是等同于number生成该计算机,如果是这样,我们使用一个break语句来循环进行。 程序完全正常运行,我们可以使用以下命令运行它:
python guess.py
虽然它的工作,现在用户永远不知道他们的猜测是否正确,他们可以猜测5次,而不知道他们是否正确。当前程序的样本输出如下所示:
Guess a number between 1 and 25:
11
Guess a number between 1 and 25:
19
Guess a number between 1 and 25:
22
Guess a number between 1 and 25:
3
Guess a number between 1 and 25:
8
让我们在循环之外添加一些条件语句,这样用户可以得到关于他们是否正确猜测数字的反馈。这些将在我们当前文件的结尾。
guess.py
import random

number = random.randint(1, 25)

number_of_guesses = 0

while number_of_guesses < 5:
    print('Guess a number between 1 and 25:')
    guess = input()
    guess = int(guess)

    number_of_guesses = number_of_guesses + 1

    if guess == number:
        break

if guess == number:
    print('You guessed the number in ' + str(number_of_guesses) + ' tries!')

else:
    print('You did not guess the number. The number was ' + str(number))
在这一点上,程序将告诉用户他们是否有号码对或错,这可能不会发生,直到循环结束时用户没有猜测。 为了给用户一路上有一点帮助,让我们添加一些更多的条件语句插入while循环。 这些可以告诉用户他们的号码是太低还是太高,以便他们更可能猜到正确的数字。 我们将我们之前添加这些if guess == number线
guess.py
import random

number = random.randint(1, 25)

number_of_guesses = 0

while number_of_guesses < 5:
    print('Guess a number between 1 and 25:')
    guess = input()
    guess = int(guess)

    number_of_guesses = number_of_guesses + 1

    if guess < number:
        print('Your guess is too low')

    if guess > number:
        print('Your guess is too high')

    if guess == number:
        break

if guess == number:
    print('You guessed the number in ' + str(number_of_guesses) + ' tries!')

else:
    print('You did not guess the number. The number was ' + str(number))
当我们再次运行程序python guess.py ,我们看到,用户得到他们的猜测更多的指导帮助。 所以,如果该随机产生的数是12 ,并且用户猜测18 ,它们将被告知,它们的猜测是太高了,并且它们可以相应地调整它们的下一个猜测。 有更多的可以做提高代码,包括错误处理,当用户未输入的整数为,但在这个例子中,我们看到一个while在很短的命令行程序在工作循环。

结论

本教程走过去如何while循环在Python工作,如何构建他们。 遍历一个代码块继续循环,只要在设定的条件while声明是真实的。