版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章
Python流程控制实战汇报人:时间:2025/01/01学习目标●了解程序的基本结构以及程序流程图的使用方法。●掌握if条件语句的用法。●掌握for和while循环语句的用法。目录01程序结构02顺序结构03选择结构04循环结构05金融数据实战程序结构01程序流程图:让逻辑一目了然流程图定义程序流程图是一种图形化工具,使用标准符号来描述程序的运行步骤。它帮助程序员在编码前梳理逻辑,便于快速诊断错误。核心元素流程图包含起止框、处理框、流程线、判断框和输入输出框。这些元素分别代表程序的开始与结束、执行内容、执行顺序、条件判断以及数据的输入输出。程序流程图基本元素(a)起止框
(b)处理框
(c)流程线(d)判断框
(e)输出输入框基本元素含义起止框表示程序流程的开始与结束处理框表示程序流程中需要执行或处理的内容流程线表示程序执行的方向与顺序判断框表示对程序流程中的某一条件判断是否成立,根据判断结果来选择执行内容输出输入框表示程序流程中数据的输入或结果的输出表3-1程序流程图基本元素的含义三大结构奠定代码骨架01顺序结构顺序结构是最基本的程序结构,代码按书写顺序依次执行。它是程序运行的基础,适用于简单的任务处理。02分支结构分支结构根据条件判断选择不同的执行路径,包括单分支、双分支和多分支。它使程序能够根据不同的情况做出不同的决策。03循环结构循环结构允许程序重复执行某段代码,直到满足特定条件为止。它分为条件循环和遍历循环,适用于处理重复任务。图3.2顺序结构流程图
图3.3分支结构流程图
图3.4循环结构流程图
顺序结构02顺序结构顺序结构特点
顺序结构是程序中最简单的结构,代码按从上到下的顺序依次执行,无需额外的控制语句。它是所有程序的基础,适用于简单的任务处理。示例:
print("Hello,World!")
#第一步:打印一条消息
x=5
#第二步:定义一个变量并赋值
y=x**
2
#第三步:使用定义的变量进行计算
print("Theresultis:",y)
#第四步:打印计算结果
输出:Hello,World!
Theresultis:25选择结构033.3.1单分支结构单分支语法单分支结构使用if语句,格式为if<表达式>:<语句块>。当表达式为True时,执行语句块;否则跳过。单分支应用例如,判断用户是否成年。如果年龄大于等于18岁,则输出'已成年';否则跳过该判断。if
<条件>:
<语句块>条件?True语句块False3.3.1单分支结构示例:
输入用户姓名、年龄,判断他是否可以报考驾照考试。
name=input("请输入您的姓名:") age=int(input("请输入您的年龄:")) ifage>=18: print(name,"已经成年") print("符合驾照考试规定")单分支应用例如,判断用户是否成年。如果年龄大于等于18岁,则输出'已成年';否则跳过该判断。输出:请输入您的姓名:张三
请输入您的年龄:21
张三已经成年
3.3.1单分支结构练习:
判断一个人的身材是否合理。世界卫生组织(WHO)推荐的BMI标准如下表所示,根据该表可以判断身材是否合理。
单分支应用例如,判断用户是否成年。如果年龄大于等于18岁,则输出'已成年';否则跳过该判断。表3.2BMI标准表WHO标准<18.518.5--24.925.0--29.9<30.0BMI分类偏瘦正常过重肥胖3.3.2双分支结构双分支语法双分支结构使用if-else语句,根据判断条件结果而选择不同向前路径的运行方式。双分支应用例如,根据PM2.5值判断空气质量。如果PM2.5小于75,则输出'空气优良';否则输出'空气污染'。if
<条件>:
<语句块1>else:
<语句块2>条件?True语句块1False语句块23.3.2双分支结构示例:PM2.5空气质量提醒:一个简单的空气质量判断方法,当PM2.5值大于等于75时,表示空气污染,PM2.5值小于75时,表示空气良好。分支嵌套分支结构可以嵌套使用,例如在单分支中嵌套双分支,或在双分支中嵌套双分支,以实现更复杂的逻辑判断。
PM=eval(input("请输入PM2.5数值:"))
#判断空气是否污染ifPM<75:
print("空气优良,可以户外活动")else:
print("空气污染,请减少户外活动")输出:
请输入PM2.5数值:110
空气污染,请减少户外活动3.3.3多分支结构多分支语法
多分支结构是指分支数大于两个的分支结构,一般而言,如果分支个数有n个,则需要判断条件n-1个,若所有分支都不满足,执行else后面的语句块。双分支应用例如,根据PM2.5值判断空气质量。如果PM2.5小于75,则输出'空气优良';否则输出'空气污染'。if
<条件1>:
<语句块1>elif
<条件2>:
<语句块2>……else:
<语句块N>条件1
?语句块NFalseFalseFalse……条件N-1
?语句块1语句块N-13.3.3多分支结构示例:2018年修订的《中华人民共和国个人所得税法》中规定了经营所得适用的税率如表3.3所示。编写程序,输入全年应纳税所得额,输出应缴税额。分支嵌套分支结构可以嵌套使用,例如在单分支中嵌套双分支,或在双分支中嵌套双分支,以实现更复杂的逻辑判断。表3.3个人经营所得税率表级数全年应纳税所得额税率(%)1不超过30000元的5
2超过30000元至90000元的部分103超过90000元至300000元的部分204超过300000元至500000元的部分305超过500000元的部分353.3.3多分支结构代码如下:
income=eval(input("请输入全年应纳税所得额:"))
ifincome<=30000:
tax=income*0.05
elifincome<=90000:
tax=(income-30000)*0.1+30000*0.05
elifincome<=300000:
tax=(income-90000)*0.2+60000*0.1+30000*0.05
elifincome<=500000:
tax=(income-300000)*0.3+210000*0.2+60000*0.1+30000*0.05
else:
tax=(income-500000)*0.35+200000*0.3+210000*0.2+60000*0.1\
+30000*0.05
print("应缴税额:",tax)3.3.4分支嵌套分支嵌套
分支嵌套指的是在某个分支结构中嵌套另一个分支结构。前面介绍了3种形式的分支结构,这3种形式的分支结构可以相互嵌套。双分支应用例如,根据PM2.5值判断空气质量。如果PM2.5小于75,则输出'空气优良';否则输出'空气污染'。例如,在单分支结构中嵌套双分支结构,形式如下。if
<表达式1>:
if
<表达式2>:
<语句块1>
else:
<语句块2>例如,在双分支结构中嵌套双分支结构,形式如下。if
<表达式1>:
if
<表达式2>:
<语句块1>
else:
<语句块2>else:if
<表达式3>:
<语句块3>
else:
<语句块4>循环结构04循环结构循环结构是指在程序中根据条件反复执行一段语句块的结构。循环结构主要有两种实现方式:for循环:又称计数循环,用于已知循环次数的场合。while循环:又称条件循环,通过判断条件是否成立决定语句块重复执行次数,用于循环次数未知场合。单分支应用例如,判断用户是否成年。如果年龄大于等于18岁,则输出'已成年';否则跳过该判断。3.4.1range函数Python内置函数range以指定步长从start到stop产生一个整数序列,start默认为0,step默认为1。Python3开始range函数返回的是一个可迭代对象。range函数多用于for循环和列表推导式。range()函数语法格式如下:range(stop)range(start,stop[,step])表3.4range()函数参数表参数名称
说明start计数从
start开始。默认是从0开始。例如range(3)等价range(0,3)stop计数到
stop结束,但不包括stop。例如:range(0,3)是[0,1,2]没有3step步长,默认为
1。例如:range(0,3)等价于range(0,3,1)3.4.1range函数示例:>>>range(3)#start值默认从0开始,step默认是1,结果是整数[0,1,2],不包括3>>>range(2,6)#start值从2开始,结果是整数[2,3,4,5],不包括6>>>range(-2,4,2)#从-2开始每次递增2直到2,结果是整数[-2,0,2]>>>range(10,1,-3)#从10开始每次递减3直到4,结果是整数[10,7,4]3.4.2for循环for循环适用于循环次数已知的场合,通常用于枚举或遍历序列。语法格式如下:for<循环变量>in<对象>: <循环语句块>其中,对象为要遍历或迭代的对象,可以是字符串、列表、元组等任何有序的序列对象;循环变量用于保存读取的值。for循环中循环变量会依次取对象中的数据,然后执行循环语句块。3.4.2for循环
示例:
利用for循环求1~100内所有奇数的和以及偶数的和。
sum_odd=0;sum_even=0foriinrange(1,101):
#range()函数经常出现在for循环中
ifi%2==0:
#偶数
sum_even+=i
#偶数和
else:
#奇数
sum_odd
+=i
#奇数和print("1~100内所有奇数的和:",sum_odd)print("1~100内所有偶数的和:",sum_even)输出:
1~100内所有奇数的和:25003.4.2for循环
示例:
输入一串字符串,统计其中的大写字母,小写字母和数字的个数。str=input()captial,lower,digit=0,0,0foriinstr:#遍历对象是一个字符串ifi.islower():#islower函数判断字符是否是小写lower+=1elifi.isupper():#isupper函数判断字符是否是大写
captial+=1elifi.isdigit():#isdigit函数判断字符是否是数字
digit+=1print(captial)print(lower)print(digit)程序任意输入一串字符串:AsdUklg234dhgkA,程序运行结果如下:大写字母个数:3小写字母个数:9数字个数:33.4.3while循环
如果程序中一段代码在一定条件下可以重复执行,当条件不满足时停止执行。这种情况下,适合使用while循环。语法格式如下:while<条件>: <语句块>其中,while是Python的保留字,<条件>与if语句中的判断条件一样,结果为True或False。当<条件>判断结果为True时,重复执行循环体即语句块中的语句,如果<条件>判断结果为False,循环终止。3.4.3while循环示例:打印1~100的所有数字。num=1 #循环变量赋初值whilenum<100:#当num小于100时,会一直执行循环体print("num=",num)#迭代语句num+=1#循环变量加1print("循环结束!")注:如果把第5行代码去掉,循环变量在执行的过程中不会发生变化,循环条件会一直为真值,会造成死循环。3.4.4break与continuebreak语句break语句用于终止当前循环,跳出最内层的循环。例如,在募捐金额超过300元时,使用break结束循环。continue语句continue语句用于终止本次循环,跳过当前循环体中的剩余语句,进入下一次循环。例如,在逢7过游戏中,使用continue跳过特定数字。3.4.4break与continuebreak示例:为支援困难学生,班级准备募捐,如果募捐款数超过300元,则募捐结束,并输出募捐人数和募捐金额。total=count=0
#total用来统计募捐金额,count用来统计募捐人数while
True:money=eval(input("请输入募捐金额:"))total=total+money
count=count+1if
total>300:
#如果募捐金额超过300,就结束循环
breakprint("共{}人募捐,募捐金额是{}。".format(count,total))continue示例:几个朋友一起玩“逢7过”游戏,游戏规则是从1开始数数,当数7以及7的倍数(包括尾数是7的数),则喊“过”。现在编写程序,计算从1到99,一共要说多少次“过”。count=0
#count用来统计喊“过”的次数fornumberinrange(1,100):
#创建一个从1到100(不包括100)的循环
ifnumber%7==0:
#判断数字是否是7的倍数
continue
#继续下一次循环
else:
string=str(number)
#将数字通过函数str()转换为字符串
ifstring.endswith('7'):
#判断字符串末尾是否是字符7
continue
#继续下一次循环
count=count+1
#统计不喊“过”次数print("从1数到99共喊“过”次数:",99-count)3.4.5else子句else子句可以与for或while循环配合使用。如果循环正常结束,执行else子句。如果循环被break中断,则else子句不执行。语法格式如下:for<循环变量>in<对象>:while<循环条件>: <循环语句块> <循环语句块>else: else: <语句块> <语句块>
示例:for…else…子句
3.4.5else子句foriinrange(3): print(i)else: print("循环正常结束")for循环正常结束后,执行else后面的语句块。运行结果如下:012循环正常结束number=1whilenumber<=3:
print("while主体执行。")
number+=1ifnumber==2:
#当number值为2时退出循环
breakelse:
print("执行while-else分支")print("其他后续代码")注:else子句在循环正常结束时才会被执行,如果循环被中断,那么else子句不会执行。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校校车途中学生突发疾病应急预案
- 学校食品安全应急演练方案
- 学校临时用工安全管理制度
- 学生军训安全告知书
- 物资业务总结表彰会发言稿范文
- 营养早餐小搭配一天都有好精神
- 肿瘤靶向护理仿真模拟摸底题库卷含完整答案
- 财税岗结构化面试真题(附答案)
- 中职专业课教资历年真题(附答案)
- 工程测绘实操全真模拟冲刺题库卷含完整答案
- 2026年度成都市公开选调公务员笔试备考试题及答案详解
- 2026年临床检验科尿常规检测技术考核模拟试题及答案解析
- 2026-2030中国高油酸花生油市场供需趋势与营销推广渠道分析报告
- 汽车零部件清洁生产办法
- 电梯工程质量监理评估报告模板
- 《具身智能技术及产业实践的阶段性进展 》
- 2026年人教版初中七年级语文上册文言文古今异义卷含答案
- 2025年杭州市西湖区社区工作人员(网格员)考试题库真题及答案
- 审计人员轮岗制度
- 2026新高考政策全景解读与志愿填报策略
- 2026届上海市各区高三语文一模试题汇编之古诗鉴赏试题及答案解析
评论
0/150
提交评论