3.4-3.5 实战:个税查询、韩信点兵求人数 (课件)《Python程序编写入门》(高教版) 【上好课】

2026-08-18
| 33页
| 7人阅读
| 0人下载
精品

资源信息

学段 中职
学科 职教专业课
课程 程序设计基础
教材版本 -
年级 高一
章节 -
类型 课件
知识点 程序控制结构
使用场景 同步教学
学年 2026-2027
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 PPTX
文件大小 17.52 MB
发布时间 2026-08-18
更新时间 2026-08-18
作者 爱学习的muller
品牌系列 上好课·上好课
审核时间 2026-08-18
下载链接 https://m.zxxk.com/soft/59249336.html
价格 5.00储值(1储值=1元)
来源 学科网

内容正文:

Python程序设计实战:个税查询与韩信点兵 计 算 机 原 理 (电工版第五版) 学习目标 掌握多分支if语句解决复杂分段计算问题;理解枚举法(穷举法)的算法核心思想;熟练运用逻辑运算符and与取模运算%,解决条件判断中的复合逻辑验证场景。 能独立编写程序实现个税的自动计算与结果输出;能结合循环结构和条件判断,解决“韩信点兵”这类经典数学逻辑问题;初步具备代码语法调试与逻辑错误排查的实践能力。 培养用计算机编程解决实际生活问题的思维意识,感受算法逻辑在数学建模与问题求解中的独特魅力,在代码设计与调试中逐步提升逻辑思维的严密性与条理性。 1 2 3 知识目标 技能目标 素质目标 目录 实战1 个税查询 实战2 韩信点兵求人数 总结:知识点回顾与练习 教学引入 核心思考:如何将现实中的“分段计税规则”,转化为计算机能理解的代码逻辑? 编程挑战:个税计算器 如果月薪是 10000 元,到底该扣多少税?我们能不能利用 Python 的逻辑判断能力,编写一个自动计算器,实现“输入工资,自动出结果”?这节课,我们就来亲手打造这个实用工具! 知识讲授 七级超额累进税率 将应纳税所得额划分为七个等级,每个等级对应不同的税率标准。计算时仅对超过该等级上限的部分适用高一级税率,而非全部所得按高税率计征。这种计税方式能精准调节收入差距,是我国个人所得税计算的核心规则,体现了税负公平与收入再分配的原则。 枚举法(穷举法) 一种依托计算机高速运算能力的基础算法思想,核心是罗列出问题所有可能的解,并逐一验证是否符合条件,最终筛选出正确答案。它是编程中最直观、最易实现的算法之一,适用于解空间有限、规则明确的场景,如密码匹配、组合问题求解等,也是理解复杂算法逻辑的入门基础。 实战1 个税查询 第一部分 知识讲授 个税查询知识点——多分支结构 个税计算规则与背景 随着人民生活水平的 日益提高,工资逐年增长,为适应人民群众消费支出水平增长的趋势,提高人民的幸福指数,个人所得税( 个税)起征点由每月 3500 元提高至每月 5000 元 。我国实行七级超额累进税率:‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬ 知识讲授 级数 全月应纳税所得额( 元) 税率 速算扣除数( 元) 1 <3000 3% 0 2 [3000,12000) 10% 210 3 [12000,25000) 20% 1410 4 [25000,35000) 25% 2660 5 [35000,55000) 30% 4410 6 [55000,80000) 35% 7160 7 > = 80000 45% 15160 知识讲授 任务需求与思路 编写个税程序,运行后输入 5600,运行界面 、结果如图 导入与输入 判断结构选择 计算应税所得 确定分支数量 编写判断逻辑 本实战用到eval( )函数、input( )函数。 判断用多分支if语句来完成。 进行判断时,先减去起征点5000元,pay2=pay_5000。 多分支是几分支?这里隐含了一种小于5000元的情况,所以有8种情况,即8分支。 分支结构的判断如何写?依次从上到下,或者从下到上,不要打乱。 知识讲授 个税计算的逻辑流程 个税计算是结合顺序执行与条件判断的典型程序逻辑,我们将其拆解为四个核心步骤,清晰展现从获取收入数据到输出应纳税额的完整执行链路。 01 输入与预处理:接收用户月收入(pay),计算应纳税所得额 pay2 = pay - 5000 02 核心判断:若 pay2 ≤ 0 则税额为0;否则判断其所属的税率区间(如3000/12000档) 基于判断结果,执行计算与输出的收尾流程: 03 计税运算:套用公式:税额 = pay2 × 对应税率 - 速算扣除数 04 结果输出:向用户展示计算结果,包括应纳税额与税后实际收入 这一流程体现了程序“数据输入→逻辑处理→结果输出”的标准化执行模式。 核心总结:个税计算的逻辑不仅是简单的算术运算,更是“顺序结构+分支结构”的综合应用。其中,准确的条件判断是实现阶梯税率计算的关键,决定了最终结果的合规性与准确性。 知识讲授 知识补充:多分支选择结构 01. 结构选择:if-elif-else 多分支适配 面对包含“小于0”及7个数值区间的8种判断场景,优先使用if-elif-else结构,替代多层嵌套的if语句,可显著降低代码复杂度,提升逻辑清晰度与执行效率。 02. 书写规范:严格遵循区间顺序 条件必须按数值大小的升序或降序依次排列,严禁打乱顺序。若顺序错位会触发“逻辑短路”,导致后续符合条件的分支无法被程序正确匹配和执行。 03. 细节把控:明确区间边界归属 需精准定义边界值(如3000、12000)的包含关系,推荐采用“大于等于下限且小于上限”(>=a and <b)的组合方式,确保每个数值唯一匹配一个分支,杜绝漏判或重复匹配。 知识讲授 逻辑流程图 师生互动 完善下列代码 pay=             (input("请输入月收入:"))  #输入月收入,存入变量pay pay2 =             #5000 元以上征税,计算应纳税所得额,存入变量pay2中 if pay2 < =        :   #无征税收入,不征税 tax = 0                  #不征税 e1if pay2 <3 0 0 0 :      #0~3000( 不含 3000),按规则征税 tax =pay2*0.03 _0 e1if                       #3000~12000( 不含 12000),按规则征税 tax =pay2*0.1_210 e1if                        #12000~25000( 不含25000),按规则征税 float pay - 5000 0 pay2 < 12000: pay2 < 25000: 师生互动 完善下列代码 elif pay2 <35000 : #25000~35000( 不含 35000),按规则征税tax=pay2 * 0.25_2660 elif pay2 <55000 : #35000~55000( 不含 55000),按规则征税tax=pay2 * 0.3_4410 elif pay2 <80000 : #55000~80000( 不含 80000),按规则征税 tax=pay2 * 0.35_7160 #> =80000 ,按规则征税 tax=pay2 * 0.45_15160 print( "扣税:",            ) #打印扣税 print( "税后收入:",            ) #打印税后收入              else: tax = pay2 * 0.45 - 15160 tax pay - tax) 背诵记忆 序号 核心考点 记忆要点与核心解析 01 个税起征点常量 个税计算的基础扣除基数为5000元,是计算应纳税所得额的核心起点数值。 记忆口诀:“计税先减五千元,基数扣除要记牢” 02 多分支判断结构 采用if-elif-else语法实现“多选一”的逻辑判断,精准匹配数值所属的不同区间范围。 记忆口诀:“多条件来排排站,分支只选一个办” 03 转换与速算要点 eval()实现输入字符串转数值,速算扣除数是简化超额累进税率计算的固定减项数值。 记忆口诀:“eval转数输得对,扣除数儿直接减” 师生互动 例题分析:工资纳税的边界条件 01 问题场景与分析目标 假设用户输入的月工资为4500元(低于5000元个税起征点),我们需要分析程序应如何正确处理这种边界情况。这是典型的分支结构逻辑测试,核心目标是验证程序是否能识别“无需纳税”的条件,并输出正确的税额结果,同时明确多分支判断中条件的优先级关系。 02 核心分析与推导过程 1.差额计算:应纳税所得额 pay2 = 4500 - 5000 = -500 元; 2.逻辑判断:pay2 < 0,不满足任何纳税档位的正向条件; 3.业务结论:未达起征点,应直接判定税额为 0 元; 4.逻辑定位:属于多分支判断中隐含的“前置/兜底”情况。 03 代码实现与逻辑优化 •优先处理:在 if-elif 开头增加 pay2 <= 0 的判断,直接输出税额0; •逻辑严谨性:覆盖“工资为0”或“负数工资”等异常输入场景; •效率提升:前置无效条件判断,避免后续分支的冗余计算; •总结:边界条件是程序健壮性的核心,需提前预判。 课堂练习 单选题 我国个人所得税以 5000 元为起征点,pay为月总收入,pay2=pay‑5000代表应纳税所得额,使用如下 Python 片段计算个税: 若某人月总收入pay=15000,则变量tax的值为() A. 790 B. 990 C. 1000 D. 1200 答案:A 解析: ①应纳税所得额:pay2=15000‑5000=10000。 ②if‑elif从上往下判断,满足即执行,不再判断后续分支。10000<12000条件成立,tax=10000*0.1‑210=790。 ③考点:多分支 elif 的执行规则。 韩信点兵求人数 第二部分 知识讲授 韩信点兵求人数 模块二 韩信点兵问题分析 01 问题背景:相传韩信统率大军,为了快速统计士兵人数,通过不同的列队方式观察余数。已知士兵总数 x 大于 1000,需根据以下三个列队余数条件,求解满足所有条件的最小士兵总数。 ⚔️ 3人一排 余2 x % 3 == 2 含义:总数除以3余2,若再增加1人即可整除3,凑成整排。 🏹 5人一排 余4 x % 5 == 4 含义:总数除以5余4,若再增加1人即可整除5,无余数。 🚩 7人一排 余6 x % 7 == 6 含义:总数除以7余6,若再增加1人即可整除7,刚好排完。 🎯 求解目标:找到满足上述三个同余条件,并且大于 1000 的最小自然数 x。这是经典的“中国剩余定理”应用场景,在编程中可通过循环遍历结合取模运算高效求解。 知识补充 枚举法(穷举法)核心原理 枚举法:从“逐一验证”到锁定答案 01 核心思想:利用计算机的高速运算优势,从预设初始值(如1000)开始,对每个整数进行条件校验,直到找到符合所有要求的解。 02 执行流程:初始化人数=1000 → 检查是否满足余数条件 → 满足则输出并结束 → 不满足则人数+1 → 循环验证直至找到结果。 03 方法特性:【优点】逻辑极简,代码编写不易出错,适合入门理解;【缺点】当目标数值极大时,会因大量重复计算导致运行效率较低。 知识讲授 逻辑流程图 本实战用到了枚举法(穷举法),士兵的人数满足条件(除以3 余数为2,除以5 余数为 4,除以7 余数为6),并且士兵人数 1000 人以上,所以对于 1000 及以后的所有数字,从小到大,一个个进行条件判断,直到条件满足,找到真正士兵人数(答案)为止 。 实战分析 韩信点兵问题求解 01 问题背景与核心思路 这是一个经典的枚举算法应用场景,核心是通过逐一验证来找到符合条件的解。题目已知“士兵人数在1000人以上”,因此将初始值设为1000而非0,能有效减少无效的循环计算,提升程序执行效率。我们需要通过循环结构逐个检查数值,直到找到满足所有余数条件的那个数。 核心逻辑:从1000开始逐个递增,验证是否满足“三三数之剩二,五五数之剩三,七七数之剩二”等条件,找到即止。 02 核心代码实现步骤 1.初始设定:定义变量 x = 1000,作为枚举的起始点; 2.循环验证:使用 while True 构建无限循环,持续检查; 3.条件判断:用 and 连接多个余数条件(如 x%3==2); 4.结果输出:满足条件则 print(x) 并 break,否则 x += 1。 03 逻辑优化与易错点解析 •效率优化:利用题目已知范围设定起点,避免无效遍历; •逻辑严谨:务必使用 and 连接条件,确保同时满足所有要求; •防止死循环:找到答案后必须使用 break 跳出循环; •数学优化:熟练后可尝试用中国剩余定理直接计算,减少循环。 师生互动 完善下列代码 n = 1000 True and n % 5 ==4 and n %7 ==6 break n = n + 1 n 背诵记忆 序号 核心考点 记忆要点与核心解析 01 枚举法 本题核心解题思想:从假定的 1000 人开始,对自然数逐个验证,直到找到同时满足三个余数条件的最小数。 记忆要点:按顺序逐个尝试,符合条件就停止。 02 while 无限循环 枚举法的代码载体:用while True构建持续循环,从 n=1000 开始,每轮检查一个数字,实现逐个试数。 记忆要点:循环不停遍历所有可能的人数。 03 if-else 双分支 组合判断条件:用and连接 “三三剩二、五五剩四、七七剩六” 三个条件,要求三个条件同时成立,才是正确人数。 记忆要点:and 两边全为真,整体条件才成立。 随堂检测 单选题 题目3:下列关于枚举法的描述,错误的是( )。 A. 逻辑简单清晰,程序编写易于实现 B. 更适合解决解空间规模较小的问题场景 C. 实现时必须使用 for 循环结构来完成 D. 当解空间过大时,执行效率可能会较低 【答案】C 【解析】枚举法的实现并不依赖特定的循环结构,for循环和while循环都可以用来实现枚举逻辑,因此C选项“必须使用for循环”的表述过于绝对,是错误的。A、B、D三项分别描述了枚举法逻辑简单、适用场景以及效率特性,均为正确的描述。 随堂检测 基础巩固 · 单选题 01. 个税计算中,若应纳税所得额为10000元,对应税率是( )。 A. 3% B. 10% C. 20% D. 25% 02. 在Python编程中,算术表达式 10 % 3 的计算结果是( )。 A. 1 B. 3 C. 3.33 D. 9 【答案与解析】 01. 正确答案:B(10%) ——10000元处于个税税率表的“超过3000元至12000元”区间,对应第2级税率标准,即10%。 02. 正确答案:A(1) ——Python中“%”为取模运算符,用于计算两数相除后的余数。10除以3商3余1,因此结果为1。 分组讨论 01 思考:如何优化“韩信点兵”的解题效率? 在解决韩信点兵问题时,我们最初采用从1000开始逐个验证的枚举法,虽然能得到结果,但效率较低。请大家分组讨论:有没有更巧妙的数学方法,能避开“一个个试”的繁琐过程,快速锁定符合条件的数值? 💡 关键线索:观察余数与除数的关系 仔细看题目条件:除以3余2、除以5余4、除以7余6。你会发现一个规律——每个余数都比对应的除数恰好小1。如果我们给这个数“补1”,它就会同时被3、5、7整除。利用这个特性,能否推导出一个更直接的计算公式? 拓展探究 中国剩余定理 图示:大衍求一术的同余方程模型 展现了模数互质下的求解逻辑 01 从趣味谜题到数论基石 韩信点兵问题是“中国剩余定理”的经典特例。该定理证明了:若模数两两互质,则一元线性同余方程组必有唯一解。这不仅是中国古代数学的瑰宝,更是现代数论中求解同余问题的核心理论依据。 02 数学原理赋能算法效率 虽然枚举法能解决小规模问题,但基于该定理可推导出O(1)时间复杂度的计算方法。理解其数学本质,能帮助我们跳出“暴力循环”的思维定式,为大规模数据场景下的高效求解提供理论支撑,实现算法的质的飞跃。 💡 核心启示:算法的优化往往源于对数学原理的深刻理解,将抽象的数论知识转化为具体的逻辑实现,是突破程序性能瓶颈的关键路径。 知识讲授 拓展:代码的健壮性 核心:让程序具备“容错能力” 01 痛点:不可控的用户输入 编写个税查询程序时,用户可能输入负数、字母(如“abc”)等非法内容。若不处理,程序会直接报错崩溃,无法正常运行。 02 对策:双重防护机制 • 前置判断:用 if 语句检查输入格式与范围,提前拦截非法值; • 异常捕获:用 try-except 结构捕获转换异常,兜底处理意外情况。 03 价值:提升体验与稳定性 触发错误时,程序不闪退,而是提示“输入错误,请重新输入”,引导用户修正,这是专业程序必备的健壮性设计。 知识小结 课后任务 布置作业: 1.绘制本节课完整思维导图(涵盖多分支elif、个税程序逻辑、取模运算、枚举法、韩信点兵实现)。 2.完成课件配套单选、代码填空练习题。 3.自主优化两段实战程序,增加对输入字母、负数的非法输入容错处理,并提交运行结果。 谢谢观看 THANKS Lavf59.14.100 $

资源预览图

3.4-3.5 实战:个税查询、韩信点兵求人数 (课件)《Python程序编写入门》(高教版) 【上好课】
1
3.4-3.5 实战:个税查询、韩信点兵求人数 (课件)《Python程序编写入门》(高教版) 【上好课】
2
3.4-3.5 实战:个税查询、韩信点兵求人数 (课件)《Python程序编写入门》(高教版) 【上好课】
3
3.4-3.5 实战:个税查询、韩信点兵求人数 (课件)《Python程序编写入门》(高教版) 【上好课】
4
3.4-3.5 实战:个税查询、韩信点兵求人数 (课件)《Python程序编写入门》(高教版) 【上好课】
5
3.4-3.5 实战:个税查询、韩信点兵求人数 (课件)《Python程序编写入门》(高教版) 【上好课】
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。