0
点赞
收藏
分享

微信扫一扫

【笔记】while循环简介:使用while循环、让用户选择何时退出、使用标志、使用break退出循环、在循环中使用continue、避免无限循环

岁月不饶人老不正经 2022-02-25 阅读 92
python

文章目录

一、while循环简介

for循环用于针对集合中的每个元素都执行一个代码块,而while循环则不断运行,直到指定的体哦阿健不满足组位置。

二、使用while循环

我们直接上代码叭,看一下while如何使用。

:使用while循环从1数到5

current_number=1
while current_number <= 5:
    print(current_number)
    current_number += 1

输出结果
在这里插入图片描述

三、让用户选择何时退出

可以使用while循环让程序在用户愿意时不断运行,像下面我们举的这个例子。我们在其中定义了一个退出值,只要用户输入的不是这个值,程序就将接着运行。

prompt="\nTell me something,and I will repeat it back to you:"
prompt+="\nEnter 'quit' to end the program."
message = ""
while message != 'quit':
    message=input(prompt)
    print(message)

输出结果:
在这里插入图片描述

四、使用标志

在要求很多条件都满足才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态。这个变量称为标志(flag),充当程序的交通信号灯。可以让程序在标志为True时继续运行,并在任何事件导致标志的值为False时让程序停止运行。

这样,在while语句中就只需要检查一个条件:标志的当前值是否为True。然后将所有其它测试(是否发生了应将标志设置为False的事件)都放在其他地方,从而让程序更加简洁。

例:在上一例的程序中添加一个标志,用于判断程序是否应继续运行

prompt="\nTell me something,and I will repeat it back to you:"
prompt+="\nEnter 'quit' to end the program."

active = True
while active:
    message=input(prompt)

    if message == 'quit':
        active = False
    else:
        print(message)

输出结果:
在这里插入图片描述
将变量active设置为True,让程序最初处于活动状态。这样做简化了while语句。

五、使用break退出循环

要立即退出while循环,不再运行循环中余下的代码,可使用break语句

break语句用于控制程序流程

:来看一个让用户指出他到过那些地方的程序。在这个程序中可在用户输入‘quit’ 后使用break语句立即退出while循环:

prompt="\nPlease enter the name of a city you have visited: "
prompt+="\n(Enter 'quit' when you are finished.)"

while True:
    city=input(prompt)

    if city == 'quit':
        break
    else:
        print(f"I'd love to go to {city.title()}")

输出结果
在这里插入图片描述
在任何python循环中都可以使用break语句。例如,可使用break语句来退出遍历列表字典的for循环

六、在循环中使用continue

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

:来看一个从1到10但只打印其中奇数的循环

current_number = 0
while current_number < 10:
    current_number += 1
    if current_number % 2 == 0:
        continue

    print(current_number)

输出结果
在这里插入图片描述

七、避免无限循环

每个while循环都必须有停止运行的途径,这样才不会无限循环。

如果不小心写的程序陷入无限循环,可按 Ctrl+C,也可关闭显示程序输出的终端窗口。

举报

相关推荐

0 条评论