版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目三:流程控制语句的应用——垃圾分类场景📖项目背景与意义流程控制是程序的“大脑”,赋予程序智能决策和自动化处理的能力。本项目通过模拟“垃圾分类”这一贴近生活的场景,带领大家学会运用逻辑思维,用代码解决现实世界中的分类与判断问题。🎯核心学习目标•掌握Python中条件语句(if-else)的逻辑判断与使用场景。
•理解循环语句(for/while)与跳转语句(break/continue)的执行流程。📝关键实战任务❶条件判断:编写代码,根据物品属性自动判断垃圾类别。
❷循环处理:实现多组垃圾的批量扫描与自动分类。
❸异常预警:检测到有害垃圾时,立即触发报警并终止流程。编程赋能生活·让分类更“智能”CodingforaGreenFuture项目导读:为何学习流程控制?核心观点:程序的“大脑”流程控制赋予了程序智能决策与自动化处理的能力,它决定了程序如何根据不同的输入条件执行相应的操作,是实现复杂逻辑的基石。现实场景:垃圾分类与“无废城市”背景:随着我国绿色低碳发展理念的深入推进,垃圾分类已成为新的社会共识,也是“无废城市”建设的关键一环。项目目标:通过模拟垃圾类型判断、物品置换和有害垃圾预警等任务,掌握如何运用流程控制逻辑,解决现实中的垃圾分类与资源管理问题。编程思维深化掌握顺序、选择、循环等结构化程序设计的核心逻辑,构建严谨的算法思维框架。社会责任培养将编程能力与环保意识结合,探索技术赋能社会可持续发展的更多可能,树立服务社会的责任感。本项目学习目标知识目标●阐述条件语句、循环语句及跳转语句的语法结构与执行流程。●描述3种流程控制语句的区别与联系,以及循环嵌套的执行机制。●说明流程控制语句在逻辑判断与重复性操作场景中的应用原理。能力目标●能运用条件语句编写程序,实现垃圾分类等场景的多条件智能判断。●能选用合适的循环与跳转语句,完成批量数据处理、循环任务,以及实现特定条件下的流程控制。素养目标●在解决实际问题的过程中培养逻辑严密、条理清晰的程序设计思维习惯。●树立绿色环保的社会责任感,理解技术发展对推动可持续发展的重要价值。任务3.1:运用条件语句判断垃圾类型核心概念:分支结构📌定义:根据特定条件的布尔值(True/False)判断结果,动态选择执行不同的代码区块。🎯作用:模拟人类的决策过程,赋予程序“思考”能力,实现逻辑的智能化处理。单分支结构(if)仅处理“条件成立”时的情况双分支结构(if...else)处理“成立”与“不成立”两种对立情况多分支结构(if...elif...else)处理多个互斥条件的复杂逻辑判断嵌套结构在分支中嵌入分支,构建深度逻辑if语句:最基础的分支结构核心功能通过评估条件表达式的布尔值(True或False),决定是否执行特定的代码块,是实现程序逻辑判断的基础。语法格式if条件表达式:
语句块#注意此处缩进关键组成要素•关键字if:标识条件判断的开始,不可省略。
•条件表达式:结果必须是布尔值的表达式。
•冒号::结束条件部分,提示后续有缩进代码块。
•缩进:通常4个空格,建立代码块与if的从属关系。代码执行逻辑1.计算条件表达式的值,得到True或False。
2.若结果为True:执行缩进的语句块代码。
3.若结果为False:直接跳过整个代码块,继续执行后续代码。if语句示例:成绩及格判断代码示例#设定学生成绩为75分score=75#判断成绩是否大于或等于60分ifscore>=60:print("成绩合格,准予通过")print("可申请下一学期课程注册")运行结果成绩合格,准予通过可申请下一学期课程注册逻辑分析1.场景定义:我们设定了一个变量score来存储学生的分数,值为75。2.条件判断:检查score>=60这个条件是否成立。因为75大于60,所以条件的布尔值是True。3.执行逻辑:因为条件为真,程序执行了if代码块内缩进的两条打印语句,输出了相应的提示信息。if语句使用注意事项冒号不可遗漏•条件表达式结束后,必须在末尾添加英文冒号`:`。•若缺失冒号,Python解释器将无法识别语句结构,直接抛出`SyntaxError`语法错误。缩进级别必须一致•隶属于同一个`if`语句块内的所有代码行,必须保持相同的缩进级别。在Python中,通常约定使用4个空格作为标准缩进。•缩进不一致会导致程序逻辑混乱,或直接触发`IndentationError`错误。语句块可包含多行代码•不要局限于只写一行代码。只要保持正确的缩进,在一个`if`条件下,你可以按逻辑顺序编写任意数量的执行语句。•这让你可以在满足特定条件时,执行一系列连贯的操作。if...else语句:处理两种对立情况核心功能用于同时处理“条件成立”与“条件不成立”两种互斥情况,弥补了单一`if`语句无法处理否定情况的缺陷,为程序逻辑提供更完整的双向处理能力。语法格式if条件表达式:
语句块1#True时执行
else:
语句块2#False时执行执行流程1.首先计算“条件表达式”的值。
2.True:执行“语句块1”,跳过“语句块2”。
3.False:跳过“语句块1”,直接执行“语句块2”。逻辑特性两个分支具有严格的互斥性。程序运行时,必然且只能选择其中一条分支执行,不存在同时执行或都不执行的情况。if...else语句示例:学生考勤状态判定场景与代码实现场景设定:学校规定,学生的年度出勤率需达到90%以上才算考勤合格。请编写程序,根据给定的出勤率自动判断并输出考勤状态。#假设学校规定出勤率达到90%以上为合格
attendance_rate=0.85#设定出勤率为85%
ifattendance_rate>=0.9:
print("考勤状态:正常")
print("符合评优评先资格")
else:
print("考勤状态:预警")
print("请向辅导员提交情况说明")代码运行结果考勤状态:预警
请向辅导员提交情况说明逻辑分析程序首先判断条件attendance_rate>=0.9是否成立。
在此例中,变量值为0.85,因此条件不成立(结果为False)。
程序因此跳过了if代码块,转而执行else分支中的语句。if...elif...else语句:应对多种可能性核心功能突破if...else结构仅能处理“二选一”的逻辑限制。专门用于应对存在多种分支、多种判断条件的复杂逻辑场景,让程序能根据不同的情况执行对应的代码块。语法格式if条件表达式1:语句块1#满足条件1时执行elif条件表达式2:语句块2#满足条件2时执行else:语句块n#以上都不满足时执行执行流程01.顺序评估:
程序从上至下,逐个计算并判断条件表达式的布尔值。02.命中即止:
一旦找到第一个为True的条件,立即执行其对应的代码,并直接跳出整个分支结构。03.兜底逻辑:
如果所有条件均不满足,则执行else分支代码。if...elif...else语句示例:成绩等级评定应用场景这是典型的多条件分支判断场景。根据学生的考试分数,按照预设的分数区间规则,自动评定对应的成绩等级(如优秀、良好、及格等),让程序具备简单的逻辑判断能力。📝Python代码示例score=85#设定学生成绩为85分ifscore>=90:print("优秀")elifscore>=80:print("良好")elifscore>=70:print("中等")elifscore>=60:print("及格")else:print("不及格")程序运行结果成绩等级:良好💡逻辑分析程序会从上至下按顺序逐一检查条件:
1.85分不满足≥90分的条件,跳过。
2.85分满足≥80分的条件,执行该分支并立即跳出整个分支结构,不再检查后续条件。if...elif...else语句使用注意事项条件表达式的顺序至关重要必须按照从严格到宽松的顺序排列。例如,必须先检查score>=90,再检查score>=80,避免逻辑错误。`elif`语句的冒号不可遗漏这是一个常见的语法错误点。每个`elif`关键字后必须添加英文半角冒号:,否则程序将无法正常运行。`else`语句的可选性与建议从语法上讲,`else`分支不是必需的,但在实际开发中,强烈建议包含它,以确保所有边界情况都能被逻辑覆盖,避免程序出现未定义行为。缩进级别一致性Python对缩进要求严格。同一个`if-elif-else`结构下,所有条件块内的语句必须保持相同的缩进级别(通常为4个空格),否则会抛出IndentationError。课堂训练3.1:基础垃圾分类判断系统任务背景🎯目标:开发一个基础的垃圾分类判断逻辑。🟦可回收物:废纸、塑料、玻璃、金属、纺织品等。🔴有害垃圾:废电池、荧光灯管、油漆桶、过期药品等。🟢厨余垃圾:剩菜剩饭、瓜果皮核、蛋壳等。⚪其他垃圾:除上述三类以外的其他生活废弃物。任务要求1.编写核心函数:定义函数classify_waste(waste_name),输入垃圾名称,返回分类结果。2.测试数据集:对以下垃圾进行分类测试:
废纸、废电池、剩菜剩饭、污染纸张、塑料瓶。3.统一输出格式:示例:"废纸属于:可回收物"💡思考提示在Python中,
针对这种**多条件分支**的判断逻辑,
应该使用哪种条件控制语句?if...elif...else💡记得先判断特殊情况,
最后再处理“其他”情况。任务3.2:运用循环语句完成物品置换核心概念:循环结构📌定义:一种用于处理重复性任务的基础编程逻辑结构。✨作用:让程序自动重复执行特定代码块,直到满足预设的终止条件,大幅减少冗余代码并提升执行效率。Python中的两大循环结构🔄while循环基于条件判断的迭代,适合执行次数不确定的场景。🔍for循环基于可迭代对象的遍历,适合列表、字符串等数据处理。while循环:基于条件的循环核心功能`while`循环是一种**先判断,后执行**的循环结构。它的核心逻辑是“当条件满足时,持续做某事”。它会通过不断地评估一个布尔类型的条件表达式,来动态决定代码块是否需要被重复执行。常用于不确定循环次数的场景。语法格式while<条件表达式>:循环体代码块...⚠️注意:Python对缩进非常敏感,循环体内部的语句必须保持统一的缩进(通常为4个空格)。执行流程01.评估:计算条件表达式的布尔值(True/False)。02.执行:如果结果为`True`,执行循环体内所有语句。03.回溯:执行完毕后,返回到第一步重新评估条件。04.终止:当条件为`False`时,跳出循环,执行后续代码。while循环示例:学生签到次数统计场景描述假设你是一位老师,需要在上课前统计班级的签到情况。这个过程需要不断重复,直到班级里的所有学生都完成了签到。这正是编程中while循环的典型应用场景:只要满足特定的条件,就重复执行一段代码。Python代码示例#初始化变量total_students=30#班级总人数signed_count=0#已签到人数whilesigned_count<total_students:print(f"已签到:{signed_count}")signed_count+=1#关键步骤print("✅全班签到完成!")核心逻辑解析1.循环条件:只要signed_count<total_students(已签到人数小于总人数),循环就会一直执行。2.避免死循环:代码中的signed_count+=1至关重要。它让已签到人数每次循环都加1,确保了条件最终会变为False,从而让循环正常结束。for循环:遍历可迭代对象功能解析专门用于遍历可迭代对象中的每一个元素,无需关心具体的索引值。常见的可迭代对象包括:
•序列类型:列表、元组、字符串
•集合类型:集合、字典
•其他:文件对象、生成器等语法格式for迭代变量in可迭代对象:
循环体(语句块)•迭代变量:每次循环时,代表对象中的一个元素
•循环体:每次迭代需要执行的代码逻辑,注意缩进规范执行流程1.从可迭代对象中获取第一个元素,赋值给迭代变量。2.执行一次“循环体”内的所有代码逻辑。3.自动获取下一个元素,再次赋值给变量并执行循环体。4.重复上述过程,直到遍历完所有元素,循环结束。for循环示例:学生名单遍历应用场景老师在上课前,需要逐一检查并记录班级中每一位同学的出勤状态。这个过程是重复的,但操作对象(每个学生)是不同的。→需求:自动、批量处理列表数据代码实现#1.定义班级名单列表
student_list=["张三","李四","王五","赵六","孙七"]#2.遍历名单进行点名
forstudentinstudent_list:
print(f"当前点名:{student}")
print("考勤状态:√已到课")逻辑分析程序会自动从列表中“取号”,将每个学生的名字依次赋值给变量student。每赋值一次,就执行一次循环体中的代码(点名和记录状态)。直到列表中的数据全部“取完”,循环自动结束。range()函数的应用核心功能Python中for循环的“黄金搭档”。它的主要作用是生成一个整数序列,在循环中常被用来:✅精准控制循环的执行次数
✅生成连续的索引值访问列表基本语法range(start,stop,step)•start:序列起始值,不写默认是0。•stop:序列结束值,不包含此数值。•step:步长,每次递增的间隔,默认是1。代码示例#循环执行5次(1-5)fordayinrange(1,6):print(f"周{day}课程安排")💡解释:因为stop=6是“开区间”,所以最终生成1,2,3,4,5五个数字,对应循环执行5次。循环嵌套:处理复杂迭代逻辑定义·Definition在一个循环体(外层循环)的代码块内部,完整地包含了另一个循环结构(内层循环),以此处理多层重复的逻辑。核心思想·CoreIdea“外层循环控制整体流程,内层循环处理操作细节”。将复杂问题拆解为层级化的简单重复。常见形式•for嵌套for(最常用)
•while嵌套while
•for与while混合嵌套执行流程外层循环每执行一次,内层循环必须完整地执行所有迭代并结束,才会回到外层循环进入下一轮。循环嵌套示例:班级成绩统计应用场景在一个学校管理系统中,我们需要统计两个班级所有学生的考试成绩。外层负责切换不同的班级,内层负责展示当前班级里每位同学的分数。逻辑分析•外层循环:遍历并切换不同的班级名称,是“大框架”。•内层循环:针对当前选中的班级,逐个打印出所有学生的成绩。Python代码实现#定义班级名称和对应的成绩列表classes=["计算机一班","计算机二班"]scores_list=[[85,92,78],[88,76,95]]#外层循环:遍历每一个班级foridxinrange(len(classes)):print(f"班级:{classes[idx]}")#内层循环:遍历班级中的每个分数forscoreinscores_list[idx]:print(f"学生成绩:{score}分")课堂训练3.2:可回收物置换系统(while循环)任务背景某社区推出“绿色环保”活动,鼓励居民将家中的可回收物带到回收站,根据物品的种类和数量,按照既定规则兑换生活用品。请你编写一个程序模拟该系统。编程任务要求1.核心逻辑:必须使用while循环来处理置换逻辑,不能使用简单的数学除法。
2.计算功能:准确计算用户可兑换的肥皂、卫生纸和毛巾的数量。
3.输出规范:清晰打印出每次置换的过程,以及最终的可兑换物品统计清单。♻️物品置换规则5个塑料瓶
→1块肥皂3kg废纸
→1卷卫生纸2kg旧衣物
→1条毛巾💡关键思考假设用户输入了一定数量的可回收物,如何设计while循环的条件来“一次一次”地扣除兑换物品的消耗,直到无法再兑换为止?任务3.3:运用跳转语句预警有害垃圾核心概念:跳转语句作用:在循环执行过程中进行更精细的控制,根据特定条件改变循环的执行路径,提升程序逻辑的灵活性。break·紧急制动阀当程序遇到break语句时,会立即终止当前所在的最内层循环,不再执行循环内后续的代码,直接跳出循环体,继续执行循环之后的程序逻辑。continue·选择性过滤器当程序遇到continue语句时,会立即跳过当前迭代的剩余代码,不再执行本轮循环后续的部分,直接开始下一次循环条件的判断。break语句:立即终止循环核心功能当程序执行到break关键字时,会无视循环条件的当前状态,立即跳出并终止当前所在的循环。后续的循环体代码不再执行,程序流程继续向下运行。典型场景●安全监测:在实时监控系统中,一旦检测到异常(如温度过高),立即执行break终止监测流程。●搜索任务:在遍历数据查找特定目标时,一旦找到匹配项,使用break立即停止搜索,避免无效遍历。Python语法while条件:#循环体逻辑...if特殊触发条件:break#立即跳出循环#此代码在break后不会执行`break`语句示例:温度监测预警系统监测场景定义需求背景:在工业控制与环境监测中,当关键指标超出预设阈值时,系统必须立即停止当前检测流程,避免误判并发出实时警报。本案例模拟:温度>30℃时,触发报警并停止循环监测。Python代码实现#模拟传感器温度数据流temperature_data=[25,26,27,28,31,29,30]safety_threshold=30fortempintemperature_data:iftemp>safety_threshold:print(f"⚠️警告:温度{temp}℃超标!")break#触发中断,退出循环print(f"✅当前温度:{temp}℃,状态正常")执行逻辑解析📊程序运行过程:1.循环正常执行前四次,打印“状态正常”。2.当检测到温度为31℃时,触发`if`判断条件。3.打印警告信息后,执行break语句,循环立即终止。💡结论:后续的29℃、30℃数据将不会被处理。continue语句:跳过当前迭代核心功能continue语句的核心作用是“跳过”。当程序在循环中执行到它时,会忽略当前迭代中剩余的所有代码,直接回到循环的条件判断部分,开启下一轮的循环检查。注:它不会像break那样终止整个循环。典型场景📊数据清洗与过滤
遍历数据集时,遇到空值、异常值或不符合筛选规则的数据,直接跳过不处理。🛡️规避特定异常
在复杂的业务逻辑中,当触发特定前置条件不满足时,直接跳过该次循环体的后续计算逻辑。Python语法foriteminsequence:#循环主体代码...ifcondition:continue#满足条件时,这部分代码将被跳过continue语句示例:成绩筛选统计应用场景:及格成绩筛选在统计学生平均分时,我们需要跳过不及格(低于60分)的成绩,只计算及格学生的平均分。这种“过滤”需求非常适合使用continue语句实现。执行逻辑解析遍历成绩列表时,若检测到分数<60,程序会立即执行continue。此时,它会跳过本次循环中剩下的累加和计数操作,直接返回到循环开始的地方,去检查并处理下一个成绩。Python代码实现#初始化变量
student_grades=[85,45,92,58,76,39]
total_score=0;pass_count=0forgradeinstudent_grades:
ifgrade<60:
continue#不及格,直接进入下一次循环
total_score+=grade#及格才累加
pass_count+=1#及格才计数print(f"共{pass_count}人及格,平均分{total_score/pass_count:.1f}分")breakvscontinue对比break语句🎯核心作用:完全终止整个当前循环,程序不再执行该循环中的任何代码。🚦趣味比喻:开车时的“紧急刹车”,一脚踩到底,车子直接停了下来,旅程结束。🔄执行流程:跳出循环体,立即去执行循环结构后面的代码逻辑。continue语句🎯核心作用:跳过当前这一次迭代的剩余代码,继续执行下一次循环迭代。🚀趣味比喻:开车遇到减速带,稍微减速(跳过当前),然后马上加速继续向终点前进。🔄执行流程:回到循环的条件判断处(如for循环更新变量),看是否满足条件以开始下一轮。课堂训练3.3:有害垃圾实时监测预警系统任务背景模拟垃圾处理厂的自动分拣线监测场景。系统需要对源源不断的垃圾数据流进行实时扫描,一旦发现“有害垃圾”,必须立即停止整条处理线并触发声光报警。监测规则设定•垃圾编码规则:0=普通垃圾|1=可回收垃圾|2=有害垃圾
•报警逻辑:监测到数据流中出现编码“2”时,执行停机与报警操作。编码任务要求1.编写循环函数,持续监测模拟的垃圾类型数据流。
2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 定制沙盘设计方案范本
- (人教新起点)一年级英语下册 Unit 8 Revision 教学设计
- 初中八年级道德与法治(部编版)下册知识清单:依法履行义务核心素养全解
- 八年级物理(苏科版)透镜探究教案
- 初中八年级历史第18课科技文化成就教学设计 -1
- Unit1Friendship默写清单-译林英语八年级上册
- 超高产与可持续导向的水稻精准种植技术体系(年)行业报告
- 初中八年级地理(粤人版)上册知识清单:自然灾害与生态保护(第二课时)
- 百分数、分数与小数的互化(六年级数学教案)
- 初三化学中考专题复习:探秘微观世界-物质的构成微粒与性质本质关联教案
- 园区绿化维护外包合同
- 2026北京市规划和自然资源委员会所属事业单位招聘30人考试参考试题及答案解析
- 2026年湖南高考英语真题试卷+答案
- 第19课 清朝君主专制的强化 课件(21张 内嵌视频)
- 房屋建筑学期末试卷及答案2套
- 雨课堂学堂在线学堂云《中国古诗词歌曲鉴赏(研究生)(中南民族)》单元测试考核答案
- (2026版)《云南省档案条例》培训
- 2025年上海市七年级下学期期末学业水平考试地理试卷与答案解析
- 工程机械设备租赁服务方案投标文件(技术方案)
- GA 1551.2-2019石油石化系统治安反恐防范要求第2部分:炼油与化工企业
- 《要是你在野外迷了路》预学单
评论
0/150
提交评论