龙空技术网

Python之while循环

Sahinzheng 158

前言:

今天朋友们对“pythonwhiletrue循环的用法”大体比较珍视,兄弟们都需要剖析一些“pythonwhiletrue循环的用法”的相关资讯。那么小编在网上网罗了一些对于“pythonwhiletrue循环的用法””的相关文章,希望朋友们能喜欢,同学们快快来学习一下吧!

1、使用while循环

while循环是使代码不断的运行,直到指定的条件不满足为止。例如:

num = 1

while num <= 3:

print(num)

num = num + 1

首先我们将num设置为1,从而指定从1开始数。接下来while循环被设置成这样,只要num小于3,就一直执行这个循环,循环中的代码时打印num的值,如果我们没有设置num = num+1的话,这个循环就会一直打印1,不会停止。我们使用了num=num+1后这个循环就会从1开始打印,然后将其值加1,知道超过3为止。

2、让用户选择何时退出

使用while循环时,我们要让程序在用户愿意时不断的运行,但是只要用户输入某个值时循环就退出,如下:

① anything = "\n告诉我一些东西,我将打印出来:"

anything += "(\n输入“退出”结束游戏):"

② message = ""

③ while message != "退出":

message = input(anything)

print(message)

在①处,我们定义了一条提示消息,告诉用户他有两个选择:要么输入一些东西,要么输入退出值“退出”。接下来创建了一个变量---message(见②),用于存储用户输入的值。我们将变量message的初始值设置为空字符串“”,让Python首次执行while代码时有可供检查的东西。Python首次执行while语句是,需要将message的值与“退出”进行比较,但是此时用户还没有输入。如果没有可供比较的东西,Python将无法继续运行程序。为解决这个问题,我们必须给变量message指定一个初始值。虽然这个初始值只是一个空字符串,当符合要求,让Python能够执行while循环所需的比较。只要message的值不是“退出”,这个循环就会不断运行。

告诉我一些东西,我将打印出来,(

输入“退出”结束游戏):1

1

告诉我一些东西,我将打印出来,(

输入“退出”结束游戏):123

123

告诉我一些东西,我将打印出来,(

输入“退出”结束游戏):1234

1234

告诉我一些东西,我将打印出来,(

输入“退出”结束游戏):退出

退出

上面这个程序很好,唯一美中不足的就是,他将“退出”也作为一条消息打印出来了,为了修复这个问题,只需要一个简单的if测试:

anything = "\n告诉我一些东西,我将打印出来,"

anything += "(\n输入“退出”结束游戏):"

message = ""

while message != "退出":

message = input(anything)

if message != "退出":

print(message)

else:

print("程序结束")

当message不等于“退出”时,程序才答应message的内容,否则将打印“程序结束”。

3、使用标志

在前面的示例中,我们让程序在满足指定条件时就执行特定的任务。但是在更复杂的程序中,很多不同的时间都会导致程序停止运行;在这种情况下,该怎么办呢?

例如,在游戏中,多种事件都可能导致游戏结束,如玩家一架飞机都没有了或者所保护的基地被摧毁了等等,如果在一条while语句中检查所有条件,将会既复杂又困难。

在要求很多条件都满足才继续运行的程序中,可以定义一个变量,用于判断整个程序是否处于活动状态。这个变量被称为标志,充当了程序的交通信号灯。你可以让程序在标志位True时继续运行,并在任何事件导致标志值为False时让程序停止运行。这样while语句中就只需要检查一个条件----标志的当前值是否为True,并将所有测试都放在其他地方,从而让程序变得更为整洁。

下面我们来试试在程序中添加一个标志:

anything = "\n告诉我一些东西,我将打印出来:"

anything += "\n输入“退出”结束游戏。"

active = True

while active:

message = input(anything)

if message == "退出":

active = False

print("哈哈,游戏结束啦,再接再厉")

else:

print(message)

我们把标志命名为active(可以给他指定任何名称),用于判断程序是否继续运行,在while循环中,我们在用户输入后使用if语句来检查变量message的值。如果用户输入的为“退出”,我们将active设置为False,这将导致while循环不再继续执行。如果输入的不是“退出”,我们将其作为一条消息打印出来。

4、使用break退出循环

要立即退出while循环,不再运行循环中余下的代码,也不关条件测试的结果如何,可以使用break语句。break语句用于控制程序流程,可使用他来控制哪些代码将执行,哪些代码将不执行,从而让程序按照你的要求执行你要执行的代码。

例如:

name = "\n请输入你去过的城市,"

name += "\n(如果没有,请输入“退出”):"

while True:

city = input(name)

if city == "退出":

break

else:

print("我去过的城市是" + city + "。")

这个程序中的循环让用户不断输入去过的城市名字,直到他输入“退出”为止。用户输入“退出”后,将执行break语句,导致Python退出循环,以while True打头的循环将不断运行,直到遇见break语句。运行结果如下:

请输入你去过的城市,

(如果没有,请输入“退出”):北京

我去过的城市是北京。

请输入你去过的城市,

(如果没有,请输入“退出”):南京

我去过的城市是南京。

请输入你去过的城市,

(如果没有,请输入“退出”):退出

5、在while循环中使用continue

要返回到循环的开头,并根据条件测试结果决定是否继续执行代码,可使用continue语句,它不像break语句那样不再执行余下的代码并退出整个循环,而是返回到循环的开头,重新执行循环。例如:

num = 1

while num < 10:

num = num + 1

if num %2 == 0:

continue

print(num)

我们首先将num设置为1,由于他小于10,Python将进入while循环。进入循环后我们以每次加1的方式往上数,因此num为2,接下来if语句开始检查num与2的求模运算。如果结果为0(意味着num能被2整除),就执行continue语句,让Python忽略余下的语句,并返回到循环的开头。第二次循环时num为3,不能被2整除,Python就执行下一行代码,将3打印出来:

3

5

7

9

6、避免无限循环

每个while循环都必须有停止运行的途径,否则就会无限循环下去,例如上面的例子我们减少一行代码:

num = 1

while num < 10:

print(num)

我们将num = num + 1这行代码去掉,这样我们的循环就会无止境的一直打印1这个数字,这是因为,我们num的初始值为1,然后开始执行while循环,只要num < 10,就会无止境的循环下去。

标签: #pythonwhiletrue循环的用法