【Python循环3/5】条件循环语句

目录

导入

条件循环

边界条件

while循环

死循环

while循环与for循环的区别

总结

知识图谱


导入

        我们已经学习了如何利用for语句实现代码重复执行的循环结构。通过遍历列表,输出其中的每一个元素。

        for循环就像是排队办事,一个个进入,轮流办理,每个人经历的流程都一样。在for循环,一次遍历就是一次循环,因此我们知道会经历过几次循环。

        在另一种情况下,我们并不关心循环几次,只在意循环什么时候结束。这样的循环逻辑,就对应Python中的条件循环(也叫while循环)。

条件循环

        定义:条件循环,又称while循环,以判断条件是否成立,来决定是否执行循环内的代码。
当判断为真时,代码会循环执行,当判断为假时则终止循环。

        隐喻:长跑2000米时,判断跑够5圈才能停止跑:在没跑够5圈时,就要一直跑,直到跑够了5圈,就结束。

边界条件

        while循环中,有一个判断条件,来决定是否执行循环内的代码。判断为True,则继续执行循环;判断为False,就会中止循环。
        这样的判断条件,我们称为——边界条件

        定义:while循环的边界条件,是指终止循环的那个判断条件。边界条件为False,则中止循环。

        隐喻:跑圈的时候,条件为小于10圈就一直跑。直到跑到10圈,教练吹哨,就停止跑圈。

while循环

        理解了while循环的概念,我们来看看代码的语法格式。同样是输出一个列表里面的所有元素,如何使用while循环来完成?

        这5行代码使用了while循环把列表的元素全部输出出来。第3行使用while循环,判断Counter是否小于5。若是,就进入循环;若不是,程序就终止。第4行,条件为True时,输出列表nameList中索引为Counter的元素;第5行,在条件为True时,用Counter计数,继续回到第3行代码,不断循环,直到while循环判断为False,程序结束。

nameList = ["Max","Tom","Jim","Ken","Kim"]
counter = 0
while counter < 5:
    print(nameList[counter])
    counter = counter + 1

counter初始化

变量counter赋值0,进行初始化。

while

使用关键字"while",表明我们要在这里开始执行”while循环“的代码结构。

边界条件

边界条件,如果该条件成立(True = 真),就执行下面的代码;如果该条件不成立(False = 假),就终止循环。

英文冒号:

一个冒号,循环语句的固定格式,表明接下来缩进的代码块,在每次边界条件为True的时候,都要执行。

四个空格

四个空格,循环缩进的固定格式,表明同样缩进的代码在每次边界条件为True的时候,都要执行。

循环内代码

缩进后的代码,是一个代码块,是循环中要执行的部分。

死循环

        for循环是有天然的边界条件——完成遍历。但while循环是有可能一直运行的。只要边界条件为真,它就会一直执行下去。
        比如图中代码就会永远执行,这种循环我们又叫做”死循环”。

        定义:死循环是一种循环类型,当一个循环永远无法终止的时候,我们就说它是死循环。

        隐喻:死循环就像是在一个没有出口的迷宫一直转圈,永远都跑不出这个迷宫。

        死循环会一直运行下去。如图,由于边界条件永远为True,因此,循环会一直进行下去,永远不会停止。

        一般来说“死循环”是一个bug,它会导致程序一直无意义运行,我们在写代码的时候一定要尽量去避免。
        图中,我们修改一下之前的代码,就不会进入死循环了。因为在执行完print()以后我们给tag变量赋值了False,此时while的判断条件为False,循环就结束了。

while循环与for循环的区别

        总结一下,从代码的执行结果来看,for循环和while循环,都可以实现相同的功能。但他们的区别在哪呢?

第一个区别:
        for循环是在每一次循环的时候,按照从头到尾的顺序自动遍历,给变量name赋值列表中的元素;
        而while循环是用一个计数器来索引列表,分别访问这个列表里面的每个元素。

第二个区别:
        循环的终止条件不一样。
        for循环的终止条件是遍历完这个列表
        while循环的终止条件是边界条件,counter<5,当边界条件为True的时候继续执行代码,为False的时候就终止执行。

总结

        学完今天的内容,你明白for循环和while循环的区别了吗?简而言之,需要记住三条。
1. for循环常用于处理列表内的每个元素。
2. for循环有天然的边界条件,while循环没有,需要我们精心设计边界条件。
3. 大多数时候,for循环和while循环可以互换使用。

知识图谱

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/466677.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一个注解解决接口耗时日志的打印

在日常开发中&#xff0c;常常需要统计方法的耗时情况&#xff0c;一般的写法是在进入方法之前&#xff0c;记录一下当前时间戳&#xff0c;在方法最后再用当前时间戳减去进入时候的时间戳就是耗时情况&#xff0c;方法很简单&#xff0c;但不够优雅。 接下来我们用一个注解AOP…

吴恩达机器学习笔记 二十四 决策树模型 学习过程 什么时候停止分裂 如何选择结点特征

案例&#xff1a;识别小猫&#xff0c;上面这个分类的特征 x 采用分类值&#xff08;几个离散的值&#xff09; 决策树最顶端的结点称根结点(root node)&#xff0c;除了根结点和叶子结点之外的叫决策结点(decision node)&#xff0c;最底层的叫叶子结点(leaf node)&#xff0c…

PHP反序列化--_wakeup()绕过

一、漏洞原理&#xff1a; 二、靶场复现: 进入靶场&#xff0c;分析源代码&#xff1a; <?php error_reporting(0); class secret{var $fileindex.php;public function __construct($file){$this->file$file;}function __destruct(){include_once($this->file);ech…

2024年3月GESP认证Scratch图形化编程四级真题及答案

GESP 图形化四级试卷 &#xff08;满分&#xff1a;100 分 考试时间&#xff1a;120 分钟&#xff09; 学校&#xff1a; 姓名&#xff1a; ​ 一、单选题&#xff08;共 10 题&#xff0c;每题 2 分&#xff0c;共 30 分&#xff09; 题号 1 2 3 4 5 6 7 8 9 10 11 1…

外包干了5天,技术退步明显。。。。

说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&a…

十九、软考-系统架构设计师笔记-真题解析-2021年真题

软考-系统架构设计师-2021年上午选择题真题 考试时间 8:30 ~ 11:00 150分钟 1.前趋图(Precedence Graph)是一个有向无环图&#xff0c;记为&#xff1a;→(Pi,Pj)Pi must Complete Before Pj may strat), 假设系统中进程P{P1, P2,P3,P4, P5, P6, P7, P8}&#xff0c; 且进程的…

Python 常用的开源爬虫库介绍

Python 是一种广泛使用的编程语言&#xff0c;特别是在 Web 爬虫领域。有许多优秀的开源爬虫库可以帮助开发者高效地抓取网页内容。以下是几个常用的 Python 爬虫库及其特点和优势&#xff1a; BeautifulSoup 特点 - **HTML/XML 解析**&#xff1a;BeautifulSoup 是一个…

Sora 惊艳亮相,会对哪些大学专业带来影响?

近日&#xff0c;OpenAI 发布了「文生视频」工具 Sora&#xff0c;AI 技术变革又一次震撼了整个世界。根据 OpenAI 的介绍&#xff0c;通过「一次性为模型提供多帧的预测」&#xff0c;Sora 可以生成长达一分钟的视频&#xff0c;并能实现单视频的多角度镜头切换&#xff0c;还…

C语言每日一题(64)快乐数

题目链接 力扣网202 快乐数 题目描述 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不…

SAP Business Application Studio(BAS) 中Git的使用

1. 概要 本文将介绍如何在SAP BAS中使用Git。 2. BAS中Git功能的集成方式 2.1 简化版Git视图&#xff08;Simplified Git View&#xff09; 通过简化版Git视图&#xff0c;开发人员可以执行最常用的一些Git操作&#xff0c;例如&#xff1a; 初始化或克隆一个仓库reposito…

python中isinstance函数判断各种类型的小细节

1. 基本语法 isinstance(object, classinfo) Return true if the object argument is an instance of the classinfo argument, or of a (direct, indirect or virtual) subclass thereof. Also return true if classinfo is a type object (new-style class) and object is…

【送书福利!第一期】《ARM汇编与逆向工程》

&#x1f42e;博主syst1m 带你 acquire knowledge&#xff01; ✨博客首页——syst1m的博客&#x1f498; &#x1f618;《CTF专栏》超级详细的解析&#xff0c;宝宝级教学让你从蹒跚学步到健步如飞&#x1f648; &#x1f60e;《大数据专栏》大数据从0到秃头&#x1f47d;&…

语音信号数字编码总共有哪些

语音信号的数字编码主要用于将模拟语音信号转换为数字形式&#xff0c;以便可以通过数字网络传输&#xff0c;或者存储在数字存储媒介上。存在多种语音编码标准&#xff0c;各自有不同的编码方式、比特率和应用场景。以下是目前广泛使用的语音编码标准&#xff1a; 1. G.711&…

消息队列面试题

目录 1. 为什么使用消息队列 2. 消息队列的缺点 3. 消息队列如何选型&#xff1f; 4. 如何保证消息队列是高可用的 5. 如何保证消息不被重复消费&#xff08;见第二条&#xff09; 6. 如何保证消息的可靠性传输&#xff1f; 7. 如何保证消息的顺序性&#xff08;即消息幂…

革新监测技术:无线数据记录系统如何颠覆食品、医疗和制药行业的验证流程

在过去的 10-15 年中&#xff0c;无线数据记录系统逐渐取代了热电偶系统&#xff0c;用于食品、医疗和制药行业的验证。过去&#xff0c;使用记录仪的一个主要缺点是在研究过程中缺乏实时数据&#xff0c;但由于 虹科EllabSKY 选项可以提供来自无线设备的实时数据&#xff0c;这…

C语言自定义库

编写 xx.c 和xx.h文件\将源代码编译为目标文件 gcc -c add.c sub.c 执行完毕后会生产add.o和sub.o文件静态库创建使用ar命令&#xff1b; ar -r libmymath.a add.o sub.o将库和main.c文件一起编译 gcc -o main main.c -lmymath -L./ 注意 上述书写格式不要错乱 -L 是指定文件路…

排序算法:快速排序(递归)

文章目录 一、创始人托尼霍尔的快速排序二、挖坑法三、前后指针法 所属专栏:C初阶 引言&#xff1a;这里所说的快速排序有三种&#xff0c;第一种是霍尔大佬自创的&#xff0c;还有一种叫做挖坑法&#xff0c;另外一种叫前后指针法 一、创始人托尼霍尔的快速排序 1.这里我们先…

AI跟踪报道第33期-新加坡内哥谈技术-AI新闻快报:GTC和终结GPU/TPU的热力学未来Chip?

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【gpt实践】比OpenAI 的 GPT-4 更好模型 Claude 3.0

Google 最近发布了最新的 Gemini 1.5 语言模型&#xff0c;震惊了世界。这是目前功能最强大的模型&#xff0c;拥有 100 万个上下文窗口&#xff0c;是所有大型基础模型中最大的。 OpenAI 的 GPT-4 才具有 128K 上下文窗口。 最近&#xff0c;谷歌最接近的竞争对手之一 Anthro…

【算法】AC自动机的优化:增量更新与删除

一、概述 AC自动机&#xff08;Aho-Corasick Automation&#xff09;是著名的多模匹配算法&#xff0c;源于贝尔实验室&#xff0c;并且在实际应用中得到广泛的引用&#xff0c;且具有以下特点&#xff1a; 只需要扫描一次文本&#xff0c;即可获取所有匹配该文本的模式串复杂…