【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循环可以互换使用。

知识图谱

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爬虫逆向实战(35)-MyToken数据(MD5加盐)

一、数据接口分析 主页地址&#xff1a;MyToken 1、抓包 通过抓包可以发现数据接口是/ticker/currencyranklist 2、判断是否有加密参数 请求参数是否加密&#xff1f; 通过查看“载荷”模块可以发现有一个code参数 请求头是否加密&#xff1f; 无 响应是否加密&#xf…

实名制接口-身份核验-PHP 身份证实名认证接口代码

通过身份证实名制&#xff0c;可以确保公民的身份信息得到保障。有效防范各类犯罪行为&#xff0c;如电信诈骗、走私、假冒伪劣等&#xff0c;维护社会秩序和公序良俗&#xff0c;提高社会治安水平。促进信息共享&#xff0c;不同行业和部门之间可以实现信息互通共享&#xff0…

JDBC的概念

一.JDBC概念&#xff1a; 其实JDBC就像是翻译官&#xff0c;就像是你去到国外是不是听不懂当地人再讲什么&#xff1f;Java就相当于是你&#xff0c;数据库就是本地人&#xff0c;然后JDBC就是那个翻译官&#xff0c;它提供了一套标准的方法和工具&#xff0c;让Java程序可以与…

HarmonyOS(鸿蒙)快速入门

一:下载开发工具 鸿蒙的开发工具叫DevEco 下载点击 其他部分都一直next 就行,这个页面出现的install 建议都点击install 然后单独选择安装目录 可能存在的问题 就是之前安装nodejs&#xff08;比如自己开发web或者RN等情况&#xff09;版本低 等情况 所以建议你单独安装一次 …

string的使用和模拟实现| 细致到strcpy ,strstr,strcmp都不放过

string的使用和模拟实现 string的成员变量string的构造方法用法无参的构造方法的实现全缺省的构造参数的实现 strcpy的模拟实现为什么这里的_size要1?为什么这里是默认传空字符串&#xff1f; 赋值运算符重载 析构函数遍历字符串operator[]使用传统c语言字符串下标遍历的缺点 …

【820复试】C语言题目错题

文章目录 1.若有代码段2.有以下语句定义3.算式 3<<2|3 的结果是&#xff08;&#xff09;——15 【重要】4.下面有关C的类和C里面的struct的描述&#xff0c;正确的有&#xff1f; ABCD5.以下叙述中正确的是&#xff08;&#xff09; D6.若有定义&#xff1a;char s\[3][…

【Linux系统编程】进程程序替换

介绍&#xff1a; 进程程序替换是指将一个进程中正在运行的程序替换为另一个全新的程序的过程&#xff0c;但替换不是创建新进程&#xff0c;只是将对应程序的代码和数据进行替换。具体来说&#xff0c;这个替换过程涉及将磁盘中的新程序加载到内存结构中&#xff0c;并重新建立…

防火墙常用功能配置

防火墙&#xff1a;为了限制不同区域之间的流量通信。默认有一条拒绝所有的策略。 现在的防火墙主要作用&#xff1a;是区域隔离和访问控制。 安全防护是核心特性 路由器&#xff1a;ACL列表&#xff0c;控制流量 入侵防御&#xff1a;网络攻击 文件过滤&#xff0c;内容过滤&…

登高作业安全绳佩戴识别系统---豌豆云

登高作业安全绳佩戴识别系统基于AI人工智能机器视觉分析识别技术&#xff0c;登高作业安全绳佩戴识别系统通过安装于现场的监控摄像头。 实时检测高空作业工作人员的安全绳佩戴情况。一旦系统检测到高空作业人员未佩戴安全绳或安全带&#xff0c;它会立即启动抓拍功能。 将违…

【数学】第十三届蓝桥杯省赛C++ A组/研究生组《爬树的甲壳虫》(C++)

【题目描述】 有一只甲壳虫想要爬上一棵高度为 n 的树&#xff0c;它一开始位于树根&#xff0c;高度为 0&#xff0c;当它尝试从高度 i−1 爬到高度为 i 的位置时有 Pi 的概率会掉回树根&#xff0c;求它从树根爬到树顶时&#xff0c;经过的时间的期望值是多少。 【输入格式…

电脑里的图片杂乱无章怎么办?使用汇帮批量重命名一键帮你解决 大量图片如何批量重命名?

当我们面临大量的图片需要重命名时&#xff0c;这无疑是一项繁琐而耗时的任务。然而&#xff0c;通过一些有效的方法和工具&#xff0c;我们可以使这个过程变得更加高效和轻松。以下介绍的这款汇帮批量重命名软件&#xff0c;能够帮助您有效地重命名大量的图片。 想要快速的进…

git checkout不同分支时,为啥会把当前分支的修改内容也带到新分支里面?

git checkout不同分支时&#xff0c;为啥会把当前分支的修改内容也带到新分支里面&#xff1f; 当你在Git中从一个分支切换到另一个分支时&#xff0c;如果没有先将当前分支未提交的改动暂存或提交&#xff0c;这些改动会被带到新分支。这是因为Git的工作目录是共享的&#xf…

【将一个数指定位上的数变为0,再求和】

判断数a的奇偶性&#xff0c;如果是奇数&#xff0c;则把数a中的偶数位全部改成0&#xff1b;如果是偶数&#xff0c;则把数a中的奇数位全部改成0 例如&#xff1a;12211是奇数&#xff0c;修改后就变成了10201&#xff1b;4212是偶数&#xff0c;修改后就变成了4010 现在给你…

C++容器适配器与stack,queue,priority_queue(优先级队列)的实现以及仿函数(函数对象)与deque的简单介绍

&#x1f389;个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名乐于分享在学习道路上收获的大二在校生 &#x1f648;个人主页&#x1f389;&#xff1a;GOTXX &#x1f43c;个人WeChat&#xff1a;ILXOXVJE &#x1f43c;本文由GOTXX原创&#xff0c;首发CSDN&…

【玩转AI绘画】有奖活动火热进行中,参与赢取耳机键盘等好礼!

AI 绘画发展迅猛&#xff0c;各种创新插件如 animatediff、instantid、controlnet 、roop 等遍地开花&#xff0c;极大地激发了 StableDiffusion 的应用潜力。AI 绘画的使用场景不断扩展&#xff0c;如 AI 视频制作、Q 版头像生成、老照片修复、照片高清化等。腾讯云高性能应用…

【OceanBase诊断调优】—— 敏捷诊断工具obdiag一键分析OB集群日志设计与实践

最近总结一些诊断OCeanBase的一些经验&#xff0c;出一个【OceanBase诊断调优】专题&#xff0c;也欢迎大家贡献自己的诊断OceanBase的方法。 1. 前言 obdiag定位为OceanBase敏捷诊断工具。1.2版本的obdiag支持诊断信息的一键收集&#xff0c;光有收集信息的能力&#xff0c;…

【nnUNetv2实践】一、nnUNetv2安装

nnUNet是一个自适应的深度学习框架&#xff0c;专为医学图像分割任务设计。以下是关于nnUNet的详细解释和特点&#xff1a; 自适应框架&#xff1a;nnUNet能够根据具体的医学图像分割任务自动调整模型结构、训练参数等&#xff0c;从而避免了繁琐的手工调参过程。自动化流程&am…

提升地理空间分析效率,火山引擎ByteHouse上线GIS能力

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 在数字化时代&#xff0c;地理空间分析&#xff08;Geospatial Analytics&#xff09;成为辅助企业市场策略洞察的重要手段。无论是广告投放的精准定位&#xff0c;…

Leetcode 1. 两数之和

心路历程&#xff1a; 很简单的题&#xff0c;双层暴力就可以&#xff0c;用双指针的话快一点。暴力时间复杂度O( n 2 n^2 n2)&#xff0c;双指针时间复杂度O(nlogn) O(n) O(n) O(nlogn)。 注意的点&#xff1a; 1、题目需要返回原数组的索引&#xff0c;所以排序后还需要…

豆瓣电影信息爬取与可视化分析

目录 一、项目背景 二、代码 三、总结 一、项目背景 &#xff08;1&#xff09;利用requests库采集豆瓣网分类排行榜 (“https://movie.douban.com/chart”)中各分类类别前100部电影的相关信息并存储为csv文件。 &#xff08;2&#xff09;利用获取的13个分类类别共1300部电…