当前位置:首页 > 大全 >

python程序中结束while循环的两种方法是(python while循环的应用实例)

来源:原点资讯(www.yd166.com)时间:2022-12-18 14:45:32作者:YD166手机阅读>>

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,就会无止境的循环下去。

栏目热文

真核细胞的dna合成发生在哪一期(dna在真核细胞中存在的方式)

真核细胞的dna合成发生在哪一期(dna在真核细胞中存在的方式)

必纠知识误区(必修教材内容)必纠知识误区易错点1 有关细胞的分子组成、结构和功能易混知识判断1.蛋白质中的氨元素主要分布...

2022-12-17 11:23:10查看全文 >>

绝望之后重生短句(痛苦后重生的句子)

绝望之后重生短句(痛苦后重生的句子)

11、从头到尾只读一本书,就像从头到尾认识一个人,其实,蛮难。12、太阳每天都是新的,你是否每天都在努力。13、当眼泪流...

2023-02-10 14:32:17查看全文 >>

tom ford官网香水(tomford香水哪里有专卖)

tom ford官网香水(tomford香水哪里有专卖)

关于灵感,他说:“我是自己的缪斯。”关于拍照,他说:“研究出你好看的那半边脸,只露那半边。”关于尺度争议,他说:“奥运会...

2022-12-19 06:43:54查看全文 >>

概算定额与预算定额的不同之处主要在于(为什么预算定额是概算定额的基础)

概算定额与预算定额的不同之处主要在于(为什么预算定额是概算定额的基础)

收集整理不易,欢迎点赞、收藏、关注,私信我可以获取建造师、造价师各科十年考试真题!第1题:某国内设备制造厂生产某台非标准...

2022-12-19 06:06:59查看全文 >>

父母过生日发2000红包(爸妈生日发多少钱红包好)

父母过生日发2000红包(爸妈生日发多少钱红包好)

在我的记忆中,不曾有过“妈妈”两个字,儿歌里唱到“有妈的孩子像块宝”,可是这两个字对我而言,却只是两个冷冰冰的汉子而已。...

2023-01-10 13:04:57查看全文 >>

复方甘草酸苷胶囊(美能)或者片(复方甘草酸苷片美能牌)

复方甘草酸苷胶囊(美能)或者片(复方甘草酸苷片美能牌)

美能,又称复方甘草酸苷片,是一种甘草提取物(甘草酸苷),主要成分为甘草酸苷、甘氨酸、蛋氨酸,具有类糖皮质激素作用,主要用...

2022-12-28 06:50:27查看全文 >>

八字里大运出现七杀是什么意思(八字中有七杀是不是不好)

八字里大运出现七杀是什么意思(八字中有七杀是不是不好)

七杀是攻身之物,身旺见之有利,身弱见之为害,有印化杀固然好,遇财破印总是灾。下面来看一真实预测案例:佛山,男,1988年...

2022-12-17 11:37:20查看全文 >>

一千三百万港元等于多少人民币(2000万港元相当于多少人民币)

一千三百万港元等于多少人民币(2000万港元相当于多少人民币)

李泽楷为被砸舞者提供了1千万港元,看着钱很多,但是却无法弥补伤者的疼痛,这是没有办法的,一个人的一辈子就这样了,以后可能...

2022-12-19 20:37:21查看全文 >>

为什么每天早上起来人都是肿的(为什么每天早上起来脸都很肿)

为什么每天早上起来人都是肿的(为什么每天早上起来脸都很肿)

科普【醒来身体浮肿,可能伴有肾脏、心脏问题】睡前喝太多水或者晚上吃得太咸,早晨醒后也可能出现轻度的浮肿,但起床活动后浮肿...

2022-12-25 02:19:37查看全文 >>

文档排行