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

news2024/11/16 20:27:19

目录

导入

条件循环

边界条件

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.coloradmin.cn/o/1526219.html

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

相关文章

跨境电商应该用什么样的服务器?多大带宽?

跨境电商在选择服务器 和带宽时&#xff0c;需要考虑多个因素&#xff0c;包括业务规模、用户数量、网站流量、地理位置等。下面是一些关键考虑因素&#xff1a; 1、服务器类型 跨境电商通常会选择使用云服务器&#xff0c;因为云服务器具有灵活性、可扩展性和高可用性。云服务…

PTA L2-019 悄悄关注

新浪微博上有个“悄悄关注”&#xff0c;一个用户悄悄关注的人&#xff0c;不出现在这个用户的关注列表上&#xff0c;但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探&#xff0c;根据某人的关注列表和其对其他用户的点赞情况&#xff0c;扒出有可能…

消息队列面试题

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

腾讯云Kubernetes的容器服务平台TKE以及函数计算服务云感受

目录 一、整体结构 二、内容深度 三、技术实用性 一、容器技术 1. 腾讯自身 2. 美团 二、函数计算技术 1. 滴滴出行 2. 小红书 实际应用 容器技术实践示例 函数计算技术实践示例 高级技术探讨示例 书中感受 这边文章是对《2023腾讯云容器和函数计算技术实践精选集…

Linux中文件和目录管理(创建删除移动复制)

目录 1——一次建立一个或多个目录&#xff1a;mkdir ​2——创建一个空文件&#xff1a;touch 3——移动和重命名&#xff1a;mv 4——复制文件和目录&#xff1a;cp 5—— 删除目录和文件&#xff1a;rmdir和rm 在学习文件与目录的管理的一些命令之前&#xff0c;我们先…

LLM+Embedding构建问答系统的局限性及优化方案

LangChain LLM 方案的局限性&#xff1a;LLM意图识别准确性较低&#xff0c;交互链路长导致时间开销大&#xff1b;Embedding 不适合多词条聚合匹配等。 背景 在探索如何利用大型语言模型&#xff08;LLM&#xff09;构建知识问答系统的过程中&#xff0c;我们确定了两个核心…

集成学习 | 集成学习思想:Bagging思想

目录 一. Bagging思想1. Bagging 算法2. 随机森林(Random Forest)算法 在正文开始之前&#xff0c;我们先来聊一聊什么是集成学习&#xff1f; 集成学习是一种算法思想&#xff1a;将若干个弱学习器分组之后&#xff0c;产生一个新的学习器 弱学习器指预测误差在50%以下的学习器…

【Linux网络编程七】网络序列化和反序列化(网络版本计算器)

【Linux网络编程七】网络序列化和反序列化(网络版本计算器&#xff09; 一.网络读取问题【解决方案】1.定制协议2.序列化和反序列化3.添加报头①封包②解包 4.框架总结 二.自定义协议&#xff1a;网络计算器协议Ⅰ.客户端发送请求&#xff0c;服务器端接收请求1.构建请求(结构化…

VS Code安装Live Server插件搭建web网页结合内网穿透实现公网访问

文章目录 前言1. 编写MENJA小游戏2. 安装cpolar内网穿透3. 配置MENJA小游戏公网访问地址4. 实现公网访问MENJA小游戏5. 固定MENJA小游戏公网地址 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#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…

【matlab】如何将.mat文件与.nii文件互转

【matlab】如何将.mat文件与.nii文件互转 .mat转为.nii文件 有时候代码需要读取的是.nii文件&#xff0c;但是如何现有的数据是.mat格式&#xff0c;需要将.mata转化为.nii文件 1、先加载.mat文件 % 加载.mat文件 load(your_mat_file.mat); % 请将your_mat_file.mat替换为实…

曹洞佛学院2024年 “中国传统文化(书法)研究班”招生简章

曹洞佛学院 中国传统文化 &#xff08;书法&#xff09; 研究班 一、曹洞佛学院简介 2016年10月&#xff0c;曹洞佛学院经国家宗教事务局批准正式成立。曹洞佛学院是全国唯一一所以宗派命名的佛学院&#xff0c;学院坐落于江西省抚州市宜黄县曹洞宗祖庭——曹山宝积寺。   …

Dagger2相关知识

目录 一、Dagger简介1.1 什么是Dagger?1.2 Dagger用来干什么&#xff1f;1.3 使用Dagger2注入对象1.4 Dagger注解 二、Dagger2使用2.1 非单例2.2 局部单例2.3 全局单例 三、参考链接 一、Dagger简介 1.1 什么是Dagger? Dagger 2 是一个由 Google 开发的依赖注入框架&#x…

【论文阅读】MSGNet:学习多变量时间序列预测中的多尺度间序列相关性

MSGNet&#xff1a;学习多变量时间序列预测中的多尺度间序列相关性 文献介绍摘要总体介绍背景及当前面临的问题现有解决方案及其局限性本文的解决方案及其贡献 背景知识的相关工作背景知识问题表述&#xff1a; Method论文主要工作1.输入嵌入和剩余连接 (Input Embedding and R…

git:码云gitee仓库提交以及React项目创建

git&#xff1a;码云gitee仓库提交以及React项目创建 1 前言 先注册准备好码云gitee的账户&#xff0c;并在gitee上新建react仓库并提交代码至远程仓库。 2 操作方式 准备新建React项目并提交到码云gitee上。 &#xff08;1&#xff09;进入官网&#xff1a;https://gitee…

Java面试相关问题

一.MySql篇 1优化相关问题 1.1.MySql中如何定位慢查询&#xff1f; 慢查询的概念&#xff1a;在MySQL中&#xff0c;慢查询是指执行时间超过一定阈值的SQL语句。这个阈值是由long_query_time参数设定的&#xff0c;它的默认值是10秒1。也就是说&#xff0c;如果一条SQL语句的执…

【Leetcode-19.删除链表的第N个节点】

题目详情&#xff1a; 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&#xff1…

什么是Vector Database?

此为看完视频What is a Vector Database?后的笔记。 作者首先对数据库做了分类&#xff0c;其中RTweb表示real time web app。 然后对用例做了分类&#xff0c;最后一个就是适合于AI的近似搜索。 好处&#xff0c;包括灵活性&#xff0c;可扩展性和性价比。 本视频最重要的…

【bioinformation 10】ADMET-CYPs抑制剂预测实战

&#x1f31e;欢迎来到AI医学的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f4c6;首发时间&#xff1a;&#x1f339;2024年3月17日&am…

/usr/local/bin/docker-compose: line 1: Not: command not found

安装docker-compose 检查是否安装成功 docker-compose --version 出错 /usr/local/bin/docker-compose: line 1: Not: command not found 检查下载连接是否正确 官网 https://dockerdocs.cn/compose/install/ 根据官网上连接下载 发现下载不了 在版本前加个V 就可以解决 版…