python循环语句while教案_零基础学习 Python 之 while 循环语句-程序员宅基地

技术标签: python循环语句while教案  

写在之前

大家好,这是发布在我微信公众号「Python空间」的第 19 篇文章,欢迎关注,期待和你的交流。

大家好,这里是零基础学习 Python 系列,在这里我将从最基本的Python 写起,然后再慢慢涉及到高阶以及具体应用方面。我是完全自学的 Python,所以很是明白自学对于一个人的考验,所以在这里我会尽我最大的努力,把 Python 尽可能简单的表述清楚,让更多想要学习 Python 的朋友能够入门。同时写这个教程也算是对自己之前所学知识的一个巩固和提高,喜欢的朋友们可以点个关注,有问题欢迎随时和我交流。本文所有的代码编写均是Python3 版本。

使用 while 进行循环

while 是 Python 中最简单的循环机制,翻译成中文是 “当…的时候”,这个条件成立在一段范围或时间间隔内,从而在这段时间间隔内让 Python 做好多事情。我们用个例子来演示一下:

>>> cnt = 1

>>> while cnt <= 5:

...    print(cnt)

...    cnt += 1

...

1

2

3

4

5

上面的例子执行的是从 1 打印到 5 的简单循环。首先是将变量 cnt 的值赋为 1, while 循环比较 cnt 的值和 5 的大小关系,如果 cnt 小于等于 5 的话继续执行。在循环的内部打印 cnt 的值,然后使用 cnt += 1 对 cnt 进行自增操作,返回到循环的开始位置,继续比较 cnt 和 5 的大小关系。现在 cnt 变量的值为 2,因此 while 循环内部的代码会被再次执行,cnt 的值会变为 3,在 cnt 从 5 自增到 6 之前一直进行,然后下次判断时, cnt 小于等于 5 的条件不满足,while 循环结束,Python 跳到循环下面的代码。

使用 break 跳出循环

如果你想让循环在某一条件下停止,但是不确定在哪次循环跳出,可以在无限循环中声明 break 语句,其含义就是要在这个地方终端循环,跳出循环体。下面用个例子简要说明一下:

>>> a = 6

>>> while a:

...    if a % 2 ==0:

...            break

...    else:

...            print("{} is odd number".format(a))

...            a -= 1

...

>>> print("{} is even number".format(a))

a = 6 的时候,执行循环体中的 break,跳出循环,执行最后的打印语句,得到结果:

6 is even number

如果 a = 7 则要执行 else 里面的 print() ,然后 a -= 1,即 a = a - 1 = 6,循环就又再执行一次,又 break 了,得到结果:

7 is odd number

6 is even number

使用 continue 跳到循环开始

有时候我们不想结束整个循环,仅仅想跳到下一轮循环的开始,这时候就轮到 continue 善良登场了。continue 是从当前位置跳到循环体的最后一行的后面,并不执行最后一行。请看下面的例子:

>>> a = 7

>>> while a:

...    if a % 2 == 0:

...            a -= 1

...            continue

...    else:

...            print("{} is odd number".format(a))

...            a -= 1

...

上面的例子,如果是偶数,就返回循环的开始;如果是奇数,就打印出来。

7 is odd number

5 is odd number

3 is odd number

1 is odd number

其实,无论是 break 还是 continue,能少用尽量少用,尽量将条件什么的在循环之前就做好,不要在循环里跳来跳去的,这样不仅代码的可读性变差,有时候自己也容易蒙圈。

while...else

如果 while 循环没有使用 break 跳出,即 while 循环正常结束,程序将进入到可选的 else 段。while...else 有点类似于 if...else,这里需要知道的是一遇到 else,就意味着已经不在 while 循环内。请看下面的例子:

>>> cnt = 0

>>> while cnt

...    print(cnt,' is less than 3')

...    cnt += 1

... else:

...    print(cnt,' is not less than 3')

...

上述代码的执行结果如下:

0  is less than 3

1  is less than 3

2  is less than 3

3  is not less than 3

是不是看了例子觉得很容易呢?循环的东西就这么多,至于它的大用处我会在之后的文章中写,敬请期待。

写在最后

最后感谢你能看到这里,希望我写的东西能够让你有到收获,但是我还是希望我在文章里插入的代码,你们能自己动手试一下,都很简单。原创不易,每一个字,每一个标点都是自己手敲的,所以希望大家能多给点支持,该关注关注,该点赞点赞,该转发转发,有什么问题欢迎在后台联系我,也可以在公众号找到我的微信加我。

The end。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39727976/article/details/110977071

智能推荐

史上最全的渗透测试面试题_360渗透面试题-程序员宅基地

文章浏览阅读827次。一、信息收集1.获取域名的whois信息,获取注册者邮箱姓名电话等。2.通过站长之家、明小子、k8等查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。3、通过DNS域传送漏洞、备份号查询、SSl证书、APP、微信公众号、暴力破解、DNS历史记录、K8 C段查询、Jsfinder、360或华为威胁情报、证书序列号获取企业域名与ip。4.通过Nmap、Wappalyzer、御剑等查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS_360渗透面试题

Django分页_django 分页效率慢-程序员宅基地

文章浏览阅读1.1k次。Paginator对象方法init(列表,int):返回分页对象,参数为列表数据,每面数据的条数属性count:返回对象总数属性num_pages:返回页面总数属性page_range:返回页码列表,从1开始,例如[1, 2, 3, 4]方法page(m):返回Page对象,表示第m页的数据,下标以1开始Page对象_django 分页效率慢

Python爬虫超详细讲解(零基础入门,幼儿园小朋友都看的懂)_儿童爬虫学的是什么-程序员宅基地

文章浏览阅读527次。前言:领取python相关资料可以进q裙777899409免费领取、每晚还有大厂老师直播教学、学习路线、电子书籍,python学习相关资料领取讲解我们的爬虫之前,先概述关于爬虫的简单概念(毕竟是零基础教程)爬虫网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。为什么我们要使用爬虫互联网大数据时代,给予我们的是生活的便利以及海量数据爆炸式.._儿童爬虫学的是什么

C程序argc、argv的使用_c语言argc和argv怎么使用-程序员宅基地

文章浏览阅读7.4k次,点赞9次,收藏28次。前提:C文件编译、汇编后生成的.exe文件,就可以通过命令行来执行该exe文件。 命令行执行.exe文件,用微软推出的powershell,格式是: start ***.exe 或者 start " ***.exe ",用powershell无法输入argv,总是执行不了。所以推荐使用windows自带的cmd。用cmd执行.exe步骤:1. 先找到.exe文件路径:不同的adk(我也不知道adk、编译器有什么区别,大佬别喷)生成的.exe文件位置不同,找一下就好。复制文件..._c语言argc和argv怎么使用

c语言获取当前日期和时间_c语言获取当前年月日-程序员宅基地

文章浏览阅读1.5w次,点赞17次,收藏122次。c语言获取当前日期和时间`time_t`类型:日历时间`time`函数:获取当前日历时间tm 结构体:分解时间`localtime`函数:从日历时间转换为分解时间代码_c语言获取当前年月日

erlang语言详解并推荐入门书籍(10本)-程序员宅基地

文章浏览阅读1.9k次。Erlang是一种函数式编程语言,它旨在用于高可靠性、分布式、并发的系统。Erlang最初是由爱立信公司的Joe Armstrong等人开发的,用于管理电话交换机系统,具有高可靠性和容错能力。Erlang的语法基于模式匹配和递归,使用虚拟机运行,可以提供轻量级进程和分布式消息传递机制,支持OTP(开放式电信平台)。虚拟机Erlang运行于虚拟机BEAM(Bogdan/Björn's Erlang Abstract Machine),它是一个高度优化的虚拟机,可以提供实时垃圾回收和进程调度机制。_erlang语言

随便推点

游戏常用数据分析指标汇总_游戏指标-程序员宅基地

文章浏览阅读1.5w次,点赞31次,收藏141次。乐元素移动游戏运营数据分析指标汇总一、用户获取1、mobile用户获取流程点击-下载-安装-激活-注册-DNU点击:点击广告页或者点击广告链接数 下载:点击后成功下载用户数 安装:下载程序并成功安装用户数 激活:成功安装并首次激活应用程序 注册:产生user_id DNU:产生user_id并且首次登陆关注问题:关注Mobile游戏从推广到DNU每个步骤的转换,提高..._游戏指标

wincc与数据库sql server之间的数据存储_wincc如何往sql里写数据-程序员宅基地

文章浏览阅读3.1k次,点赞4次,收藏15次。实现目标:1、把wincc中变量,存储到SQL数据库中2、查询数据库内容,在控件中显示步骤:1、软件wincc 7.3、wincc安装自带的sql server 2008 R22、新建数据库3、新建wincc项目--变量建立4、所用到的控件5、画面打开脚本:主要实现最新数据显示、连接数据库、控件设置等SubOnOpen()DimDimQRDim'对应表格控件名称DimDimDimzxy1'查询当天全部数据,除了控件名称要注意修改外,以上其他为标准Set。_wincc如何往sql里写数据

Angular应用中tsconfig.json文件配置说明及配置全局路径映射_angular的config.json里面的内容是you什么决定的-程序员宅基地

文章浏览阅读1.5k次。Angular应用中tsconfig.json文件配置说明及如何配置全局路径映射_angular的config.json里面的内容是you什么决定的

C语言—打单词游戏_c语言命令行单词游戏-程序员宅基地

文章浏览阅读1.5k次,点赞2次,收藏11次。ps:页面最下面附上程序打包,也可在线浏览打单词游戏:本项目,主要目的是练习模块划分能力,我将整个程序划分为多个模块项目分析:显示要求:打单词下落方式显示多个单词通过正确输入消除单词对输入正确性统计能够随着熟练度改变速度有软件版权信息好看点,更有吸引力隐式要求:单词来源(外部文件或是字符串)原始单词存储问题(多个同类型元素,采用数组的方式,每个数组元素为字符串单词的地..._c语言命令行单词游戏

基于Django的深度学习视频分类Web系统_深度学习+django-程序员宅基地

文章浏览阅读834次。Temporal shift module数据处理:视频是按特定顺序排列的一组图像的集合,这些图像也称为帧。视频分类任务需要先对短视频进行解码,然后再将输出的图像帧序列灌入到VideoTag中进行训练和预测。图像建模:先从训练数据中,对每个类别均匀采样少量样本数据,构成十万量级的训练视频。然后使用TSN网络进行训练,提取所有视频帧的TSN模型分类层前一层的特征数据。在这个过程中,每一帧都被转化成相应的特征向量,一段视频被转化成一个特征序列。序列学习:采用Attention clusters、LSTM和Nex_深度学习+django

C#——【关键字:MVVM】WPF数据绑定-MVVM架构-Caliburn.Micro_c# mvvm-程序员宅基地

文章浏览阅读1.3k次。一、MVVM架构是什么View、ViewModel、Model。ViewModel连接Model和View层,相当于把之前View层的Cs代码独立出来了二、优势劣势&适用场景MVVM最大的优势是编写前端逻辑非常复杂的页面,尤其是需要大量DOM操作的逻辑,利用MVVM可以极大地简化前端页面的逻辑。但是MVVM不是万能的,它的目的是为了解决复杂的前端逻辑。但对于以展示为主的页面,例如,新闻,博客、文档等,不能使用MVVM展示数据,因为这些页面需要被搜索引擎索引,而搜索引擎无法获取使用MV_c# mvvm