- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
《Python程序设计实践教程》课程教案
课题:趣味数字
教学目的:
现实生活中有许多有趣的数学问题。经常有意识地寻找并解决这些问题可以增强逻辑思维能力,进而开发大脑,提高智力水平,同时使生活变得丰富多彩。计算机就是帮助我们解决这些问题的强有力的工具。
通过编写程序解决数学难题,可以减少我们在解题时遇到的烦琐而复杂的计算,把精力集中在解决具体问题的方法上,锻炼思考能力和逻辑思维水平,同时提高自身的编程水平和应用计算机解决实际问题的能力。
本实验选取一些趣味数字编程实例,使读者了解数字的奇妙之处。
课型:新授课
课时:
本章安排2个课时。
教学重点:
重点:通过编写程序解决数学难题,减少解题时遇到的烦琐而复杂的计算,把精力集中在解决具体问题的方法上,锻炼思考能力和逻辑思维水平,同时提高自身的编程水平和应用计算机解决实际问题的能力。
教学难点:
难点:教学难点在于引导学生精准把握不同趣味数字(水仙花数、完全数、快乐数、不变初心数)的复杂判定规则,通过优化算法逻辑,高效实现对大量数字的准确判断,并能深入理解算法背后的数学原理与程序运行机制。
教学过程:
教学形式:讲授课,教学组织采用课堂整体讲授和分组演示。
教学媒体:采用启发式教学、案例教学等教学方法。教学手段采用多媒体课件、视频等媒体技术。
板书设计:
本课标题
趣味数字
课次
0.5
授课方式
理论课□讨论课□习题课□其他□
课时安排
2
学分
共2分
授课对象
普通高等院校学生
任课教师
教材及参考资料
1.《Python程序设计实践教程》。
2.本教材配套视频教程及学习检查等资源。
3.与本课程相关的其他资源。
教学基本内容
教学方法及教学手段
课程引入
数字看似平淡无奇,实则暗藏许多奇妙之处。比如,在浩瀚的数字海洋里,有一类特殊的“水仙花数”。像153,它的每一位数字的立方和,即13+53+33,恰好等于它本身153。这是不是很神奇?还有“完全数”,6就是个完全数,它的所有真因子(即除自身以外的因子)1、2、3相加,结果正好是6。在日常生活中,我们也能接触到数字规律的应用。比如商品价格尾数的设置,就可能涉及到数字心理学。接下来,让我们一起探索“水仙花数”“完全数”“快乐数”“不变初心数”等趣味数字,揭开数字背后隐藏的神秘面纱,感受数字世界的独特魅力与奥秘,开启这段充满惊喜的数字探索之旅。
参考以下形式:
1.衔接导入
2.悬念导入
3.情景导入
4.激疑导入
5.演示导入
6.实例导入
7.其他形式
实验18趣味数字
实例18-1水仙花数
1.题目描述
水仙花数也称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数、阿姆斯特朗数。如果一个?3?位数等于它的?3?个数字的立方和,那么该?3?位数就称为水仙花数。例如13+53+33=153,因此153?是一个水仙花数。
编写程序,计算?100~999?的所有水仙花数。
2.题目分析
根据水仙花数的定义,判断一个数是否为水仙花数,最重要的是把给出的?3?位数的个位数、十位数、百位数拆分出来,并求其立方和(设为?s),若?s?与给出的?3?位数相等,则该?3?位数就是水仙花数,反之则不是。
3.算法设计
在?for?循环中,对每个整数逐个分解出其个位数、十位数、百位数,判断其立方和是否等于这个数本身,若等于则该整数是水仙花数。
具体判断过程如下。
①将?n?除以?100,得出百位数?i。
②将?n-100i除以?10,得出十位数?j。
③将?n?对?10?取余,得出个位数?k。
④判断?i、j、k?的立方和是否等于?n。
在?Python?中,“//”是一个算术运算符,表示整数除法,可以返回商的整数部分(向下取整);“%”可以用来计算求模,即两个数相除后的余数。
4.程序代码
#sl18-1.py
forninrange(100,1000):
i=n//100
j=n//10%10
k=n%10
ifn==i**3+j**3+k**3:
print(f{n})
5.运行结果
153
370
371
407
6.思考与讨论
对于某一个数,拆分每个位置的数字的算法有很多种,可以根据不同情况选择不同的算法(对于同一问题,不同算法的效率有时会相差很多)。
(1)方法一:枚举算法
foriinrange(1,10):
forjinrange(0,10):
forkinrange(0,10):
ifi*100+j*10+k==i**3+j**3+k**3:
您可能关注的文档
- Python程序设计实践 教案 实验3 运算符与表达式.docx
- Python程序设计实践 教案 实验4 字符串.docx
- Python程序设计实践 教案 实验5 选择结构程序设计.docx
- Python程序设计实践 教案 实验6 循环结构程序设计.docx
- Python程序设计实践 教案 实验7 列表与元组.docx
- Python程序设计实践 教案 实验8 字典与集合.docx
- Python程序设计实践 教案 实验9 函数.docx
- Python程序设计实践 教案 实验10 文件.docx
- Python程序设计实践 教案 实验11 调试和异常处理.docx
- Python程序设计实践 教案 实验12 面向对象程序设计基础.docx
最近下载
- DL_T 5434-2021 电力建设工程监理规范.docx VIP
- 2025年中级银行从业资格之中级银行业法律法规与综合能力考试题库及答案【基础+提升】.docx VIP
- 海南省中医医术确有专长人员医师资格考核中医医术专长综述表.docx
- T0305系统项目测试总结报告.doc VIP
- 江苏省2025学位英语考试真题及答案解析2025.pdf VIP
- 2023年广东省广州市中考生物试题卷(含答案解析).docx
- 互联网医院整体方案介绍ppt课件.pptx VIP
- DB32∕T4304-2024高速公路经营管理安全生产隐患排查治理规程.pptx VIP
- 2024年秋季新人教PEP版英语三年级上册全册教案.docx
- 黑龙江省自然科学的研究系列中高级专业技术职务任职资格评审标准.doc VIP
文档评论(0)