如何构造while循环在Python 3

介绍

计算机程序非常适合用于自动化和重复任务,因此我们不必这样做。重复类似的任务的方法之一是通过使用 循环 。 我们将涵盖在本教程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
系统将提示您输入密码,然后可以使用各种可能的输入进行测试。这里是程序的输出示例:
OutputWhat 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次,而不知道他们是否正确。当前程序的样本输出如下所示:
OutputGuess 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声明是真实的。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏