Python学习-流程图、分支与循环(branch and loop)
十、流程图
1、流程图(Flowchart)
流程图是一种用于表示算法或代码流程的框图组合,它以不同类型的框框代表不同种类的程序步骤,每两个步骤之间以箭头连接起来。
好处:
1)代码的指导文档
2)有助于规划高效率的程序结构
3)便于与他人交流

流程图的思维是至上往下走的,线性逻辑的思维模式。
2、函数(function)
函数就是对一段代码进行封装。
3、思维导图(Mind Map)
思维导图又叫心智图,是表达发散性思维的有效的图形思维工具,它简单却又极其有效,是一种革命性的思维工具。
十一、分支与循环(branch and loop)
1、分支结构 - if语句
Python的分支结构由if语句来实现的,有5种语法:
1)判断一个条件,如果这个条件成立,就执行其包含的某条语句或某个代码块。包含的语句使用缩进,缩进决定了从属关系。
if condition:statement(s)
举例:
if 3<5:print("我在里面")print("我也在里面")
print("我在外面")
2)判断一个条件:
如果条件成立,就执行其包含的某条语句或某个代码块
如果条件不成立,就执行另外的某条语句或某个代码块
if condition:statement(s)
else:statement(s)
举例:
if "小甲鱼" == "小姐姐":print("小甲鱼是小姐姐!")
else:print("小甲鱼不是小姐姐!")
3)判断多个条件:
如果第1个条件不成立,则继续判断第2个条件,如果第2个条件还不成立,则接着判断第3个条件……
if condition1:statement(s)
elif condition2:statement(s)
elif condition3:statement(s)
……
举例:
score = input("请输入你的分数:")
score = int(score)if 0<= score < 60:print("D")
elif 60<= score < 80:print("C")
elif 80<= score < 90:print("B")
elif 90<= score < 100:print("A")
elif score == 100:print("S")
4)多条件else:
第4种是在第3种的情况下添加一个else,表面上面所有的条件均不成立的情况下,执行某条语句或某个代码块。
if condition1:statement(s)
elif condition2:statement(s)
elif condition3:statement(s)
……
else:statement(s)
举例:
score = input("请输入你的分数:")
score = int(score)if 0<= score < 60:print("D")
elif 60<= score < 80:print("C")
elif 80<= score < 90:print("B")
elif 90<= score < 100:print("A")
elif score == 100:print("S")
else:print("请输入 0~100 之间的分值!")
5)条件表达式
条件成立时执行的语句 if condition else 条件不成立时执行的语句
举例:
正常表达式:
age = 16
if age < 18:print("抱歉,未满18岁禁止访问。")
else:print("欢迎您来~")
条件表达式:
age = 16
print("抱歉,未满18岁禁止访问。") if age < 18 else print("欢迎您来~")
案例4的条件表达式:
score = 66
level = ('D' if 0<= score <60 else'C' if 60<= score <80 else'B' if 80<= score <90 else'A' if 90<= score <100 else'S' if score == 100 else"请输入 0~100 之间的分值!")
print(level)
2、分支结构的嵌套
举例:
age = 18
isMale = True
if age <18 :print("抱歉,未满18岁禁止访问。")
else:if isMale:print("任君选购!")else:print("抱歉,本店商品可能不适合小公举哦")
3、循环结构
(1)while循环
只要条件成立,其包含的某条语句或某个语句块就会一直被执行。
while condition:statement(s)
举例:
love = "yes"
while love == "yes":love = input("今天你还爱我吗?")
(2)for循环
下面可以看到,第5部分
(3)退出死循环
1)break
2)continue:
continue也会跳出循环体,但只是跳出本轮循环,它还会回到循环体的条件判断位置,然后继续下一轮的循环。
举例:
i = 0
while i < 10:i += 1if i % 2 == 0:continueprint(i)1
3
5
7
9
3)break和continue的区别

4)else
当循环的条件不再为真的时候,便会执行else语句的内容。
举例:
i = 1
while i < 5:print("循环内,i的值是", i)i += 1
else:print("循环外,i的值是", i)
4、循环结构的嵌套
无论是break语句还是continue语句,它们只能作用于一层循环体。
day = 1
hour = 1
while day <= 7:while hour <= 8:print("今天我一定要坚持学习8小时!")hour += 1if hour >1:breakday += 1今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
九九乘法表
i = 1
while i <= 9:j = 1while j <= i:print(j,"*",i,"=",j * i,end=" ")j += 1print()i += 1

5、for循环
for 变量 in 可迭代对象 :
statement(s)
可迭代对象指元素能够被单独提取出来的对象,比如字符串。
举例:for循环每次从字符串Love里面提取出一个字符,并赋值给变量each,循环体内只有一个语句,将each变量值打印出来。
for each in "Love":print(each)L
o
v
e
举例用while来实现:
i = 0
while i < len("Love"):print("Love"[i])i += 1L
o
v
e
6、range生成数值序列,参数只能是整型。
range(stop)
range(start, stop)
range(start, stop, step)
举例:
for i in range(10):print(i)0
1
2
3
4
5
6
7
8
9for i in range(5,10):print(i)5
6
7
8
9for i in range(5,10,2):print(i)5
7
9
举例:从0加到100万的和
i =1
sum = 0
while i <= 1000000:sum += ii += 1print(sum)500000500000sum = 0
for i in range(1000001):sum += i
print(sum)
500000500000
举例:查看10以内的素数
for n in range(2,10):for x in range(2,n):if n % x ==0:print(n,"=",x,"*",n // x)breakelse:print(n,"是一个素数")2 是一个素数
3 是一个素数
4 = 2 * 2
5 是一个素数
6 = 2 * 3
7 是一个素数
8 = 2 * 4
9 = 3 * 3
相关文章:
Python学习-流程图、分支与循环(branch and loop)
十、流程图 1、流程图(Flowchart) 流程图是一种用于表示算法或代码流程的框图组合,它以不同类型的框框代表不同种类的程序步骤,每两个步骤之间以箭头连接起来。 好处: 1)代码的指导文档 2)有助…...
Python Flask Web 框架学习笔记+完整项目
Flask是一个轻量级的基于Python的web框架。 我们建议使用最新版本的 Python。Flask 支持 Python 3.8 及更高版本。 官网:欢迎使用 Flask — Flask 文档 (3.0.x) (palletsprojects.com) RESTFul API:Python Flask高级编程之REST…...
XML Map 端口进阶篇——常用关键字和格式化器详解
XML Map 端口是用于在不同XML之间建立关系映射的工具,允许通过拖拽操作实现源XML和目标 XML之间的数据字段映射,除此之外,XML Map 端口还提供了其它丰富多彩的功能,使用户能够更加灵活和高效的处理XML 数据映射任务,让…...
排序算法之——直接插入排序
直接插入排序——以升序排列为例 1.1基本思想1.2动态图示感知1.3静态图示详解1.4代码实现1.5时间复杂度1.5.1最好情况1.5.2最差情况 1.6空间复杂度1.7稳定性1.7.1一个小问题 1.1基本思想 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直…...
突出最强算法模型——回归算法 !!
文章目录 1、特征工程的重要性 2、缺失值和异常值的处理 (1)处理缺失值 (2)处理异常值 3、回归模型的诊断 (1)残差分析 (2)检查回归假设 (3)Cooks 距离 4、学…...
云数据库 Redis 性能深度评测(阿里云、华为云、腾讯云、百度智能云)
在当今的云服务市场中,阿里云、腾讯云、华为云和百度智能云都是领先的云服务提供商,他们都提供了全套的云数据库服务,其中 Redis属于RDS 之后第二被广泛应用的服务,本次测试旨在深入比较这四家云服务巨头在Redis云数据库性能方面的…...
Android---Retrofit实现网络请求:Java 版
简介 在 Android 开发中,网络请求是一个极为关键的部分。Retrofit 作为一个强大的网络请求库,能够简化开发流程,提供高效的网络请求能力。 Retrofit 是一个建立在 OkHttp 基础之上的网络请求库,能够将我们定义的 Java 接口转化为…...
使用静态CRLSP配置MPLS TE隧道
正文共:1591 字 13 图,预估阅读时间:4 分钟 静态CRLSP(Constraint-based Routed Label Switched Paths,基于约束路由的LSP)是指在报文经过的每一跳设备上(包括Ingress、Transit和Egress…...
gentoo安装笔记
最近比较闲,所以挑战一下自己,在自己的台式电脑上安装gentoo 下面记录了我亲自安装的步骤,作为以后我再次安装时参考所用。 整体步骤 一般来将一个linux发行版的安装步骤其实大体上都差不多,基本分为一下几步: 1. …...
Git如何使用 五分钟快速入门
Git如何使用 五分钟快速入门 Git是一个分布式版本控制系统,它可以帮助开发人员跟踪和管理项目的代码变更。与传统的集中式版本控制系统(如SVN)不同,Git允许开发人员在本地存储完整的代码仓库,并且可以独立地进行代码修…...
FreeRTOS学习笔记——(FreeRTOS临界段代码保护及调度器挂起与恢复)
这里写目录标题 1,临界段代码保护简介(熟悉)2,临界段代码保护函数介绍(掌握)3,任务调度器的挂起和恢复(熟悉) 1,临界段代码保护简介(熟悉…...
箱形理论在交易策略中的实战应用与优化
箱形理论,简单来说,就是将价格波动分成一段一段的方框,研究这些方框的高点和低点,来推测价格的趋势。 在上升行情中,价格每突破新高价后,由于群众惧高心理,可能会回跌一段,然后再上升…...
MinIO 和 Apache Tika:文本提取模式
Tl;dr: 在这篇文章中,我们将使用 MinIO Bucket Notifications 和 Apache Tika 进行文档文本提取,这是大型语言模型训练和检索增强生成 LLM和RAG 等关键下游任务的核心。 前提 假设我想构建一个文本数据集,然后我可以用它来微调 LLM.为了做…...
c编译器学习05:与chibicc类似的minilisp编译器(待续)
minilisp项目介绍 项目地址:https://github.com/rui314/minilisp 作者也是rui314,commits也是按照模块开发提交的。 minilisp只有一个代码文件:https://github.com/rui314/minilisp/blob/master/minilisp.c 加注释也只有996行。 代码结构&a…...
手撕qsort函数
前言 本篇主要讲解的是qsort函数细节以及运用实例。 紧跟我的脚步一起手撕qsort函数吧~ 欢迎关注个人主页:逸狼 更多优质内容: 拿捏c语言指针(上) 拿捏c语言指针(中) 拿捏c语言指针(下&…...
项目在linux上的简单部署
本文章只介绍项目的简单部署,暂时没有Docker部署。 项目部署有两种方式,一种是直接命令部署,第二种是用脚本,脚本本身也是将命令进行封装来执行。 命令 项目通过maven打包,启动命令: # 启动命令 nohup …...
MySQL安装教程(详细版)
今天分享的是Win10系统下MySQL的安装教程,打开MySQL官网,按步骤走呀~ 宝们安装MySQL后,需要简单回顾一下关系型数据库的介绍与历史(History of DataBase) 和 常见关系型数据库产品介绍 呀,后面就会进入正式…...
Linux platform tree下的单总线驱动程序设计(DHT11)
目录 概述 1 认识DHT11 1.1 DHT11特性 1.2 DHT11数据格式 1.3 DHT11与MCU通信 1.4 DHT11信号解析 1.4.1 起始信号 1.4.2 解析信号0 1.4.3 解析信号1 2 驱动开发 2.1 硬件接口 2.2 更新设备树 2.2.1 添加驱动节点 2.2.2 编译.dts 2.2.3 更新板卡中的.dtb 2.3 驱…...
自研爬虫框架的经验总结(理论及方法)
背景: 由于业务需要,承接一部分的数据采集工作。目前市场内的一些通用框架不太适合。故而进行了自研。 对比自研和目前成熟的框架,自研更灵活适配,可以自己组装核心方法;后者对于新场景的适配需要对框架本身有较高的理…...
配置基于 AWS CRT 的 HTTP 客户端
基于 AWS CRT 的 HTTP 客户端包括同步 AwsCrtHttpClient 和异步 AwsCrtAsyncHttpClient。基于 AWS CRT 的 HTTP 客户端具有以下 HTTP 客户端优势: 更快的 SDK 启动时间 更小的内存占用空间 降低的延迟时间 连接运行状况管理 DNS 负载均衡 SDK 中基于 AWS CRT …...
2026届毕业生推荐的五大AI科研神器实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在运用人工智能辅助写作这个行为当中,所生成的内容常常带有十分明显的机械感。所…...
MedGemma X-Ray技术博文:医疗大模型在放射科的可信度验证实践
MedGemma X-Ray技术博文:医疗大模型在放射科的可信度验证实践 1. 引言:当AI走进放射科,我们如何相信它? 想象一下,一位放射科医生每天要面对上百张X光片,每一张都需要仔细查看、分析、撰写报告。长时间高…...
多语言双轨直销系统开发要点
系统架构设计 采用微服务架构确保模块化与扩展性,支持高并发场景。数据库设计需考虑多语言数据存储,推荐使用NoSQL(如MongoDB)处理非结构化翻译内容。负载均衡技术保障全球用户访问速度。核心功能模块 会员管理模块实现双轨层级计…...
综合布线入门技术培训ppt
综合布线是弱电项目中最基础的系统,也是最重要的系统之一。不少施工过程不是很楚,主要集中在两个问题:1、综合布线项目如何做?2、有哪些流程?本期我们通过一个培训ppt来详细总结下。来源:弱电行业网...
记录一次bug:不可见字符/零宽字符
1. 现象在处理 CSV 文件导入时,你可能遇到过这种“灵异事件”:CSV 文件第一列叫 tag_id。程序用 encoding/csv 读进 Map 后,尝试用 mp["tag_id"] 取值。结果: 永远返回空值,但打印整个 Map 时,肉…...
市场推广需要哪些数据分析能力?渠道评估、归因和转化怎么分析
市场推广数据分析能力框架市场推广的核心在于数据驱动决策,掌握以下能力可显著提升推广效果。CDA数据分析师证书持证者通常在这些领域具备系统化知识。能力维度关键技能应用场景数据采集能力熟悉Google Analytics、Adobe Analytics等工具,掌握UTM参数设置…...
告别手动测试:用快马AI生成telnet端口批量检测脚本,效率提升十倍
最近在运维工作中频繁遇到需要批量检测服务器telnet端口连通性的需求。手动一台台测试不仅效率低下,还容易出错。经过一番摸索,我总结出一套用Python快速实现批量检测的方案,效率比手工操作提升了十倍不止。这里分享下具体实现思路和优化经验…...
AI辅助开发创意秀:让快马AI为你定制专属的antigravity式彩蛋代码
最近在尝试用AI辅助开发一些有趣的小项目,发现InsCode(快马)平台特别适合快速实现这类创意编程。今天就来分享一个用AI生成个性化编程彩蛋的完整实现过程,效果类似Python著名的antigravity彩蛋,但加入了用户自定义内容。 项目构思 这个项目的…...
5步掌控Windows Defender:开源工具实现永久安全策略定制
5步掌控Windows Defender:开源工具实现永久安全策略定制 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defender-control …...
网络安全的攻防体系有哪些?
网络安全的攻防体系有哪些? 网络安全的攻防体系有哪些? 网络安全的攻防体系是一个复杂而多维的系统,旨在保护网络系统和数据免受未授权访问、泄露、修改或破坏。这个体系包含了多种策略和技术,可以分为以下几个主要方面…...
