初中信息技术-Python编程-算法-【来做拍“7”游戏】_第1页
初中信息技术-Python编程-算法-【来做拍“7”游戏】_第2页
初中信息技术-Python编程-算法-【来做拍“7”游戏】_第3页
初中信息技术-Python编程-算法-【来做拍“7”游戏】_第4页
初中信息技术-Python编程-算法-【来做拍“7”游戏】_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、初中信息技术Python编程一一算法【来做拍“7”游戏】生活中有很多问题需要把所有可能的答案都列举出来,从中寻找最优答案。譬如借助电子地图查询去博物馆的公交路线,就是要逐一找出所有可能的线路, 然后根据条件选择正确线路。把问题的所有可能解都一一列举出来,并按照问题要求的条件逐个判断每 个答案是否是正确的解,保存正确的,丢弃不正确的,做到既不遗漏也不重复, 这就是枚举算法。用枚举算法(也称为穷举法)求解问题,就是从所有候选答案 中搜索正确的结果,方法简单但很实用。我们将借助计算机的高速运算能力,采用枚举算法通过逐一尝试,最终得出求解结果。通过本节的学习,你将掌握以下技能: *能够准确确定枚举对象

2、、枚举范围。*学会应用准确的判定条件,找到所有答案组合。专题一:快速寻找有规律的数据L1做游戏,找规律同学们有没有玩过一种叫作拍r的游戏?游戏规那么是:把从1开始的自然数中含T 的数称作明T ;把不含7且是的倍数的数称作暗7。从1开141421始轮流报数,轮到报明7或空音T的人,17不能出声,只拍一下手。第一轮拍手的数字假设一起游戏的有33人,请记录经过!探究:请根据第一轮游戏报数中拍手的数据,尝试写出第二轮、第三轮游戏的数据。3轮报数后拍手的数据。1.2用程序寻找结果当数据越来越大,就越难发现明7和暗r 0这时,不妨利用枚举算 法,借第一轮拍手的数字助Python程序来快速找出想要的结果。.

3、确定枚举的对象、范围和条件。假定报数到达100时游戏结束,根据拍7”游戏的游戏规那么,确定枚举范围是1100的自然数,设定一个变量i作为枚举对象。枚举1100的程序 基本结构如下。#Python拍7游戏n=100for i in range(l,n+l):| print(i)在程序中,循环结构通过range ()函数控制枚举范围。接下来,通过增加判定条件以确定明T和暗7 : Tin str(i) or i%7=0o请结合下面算法流程图,讨论如何枚举明T和暗T oi=li=i+l拍7游戏算法流程图2,编写程序判断明T o把1 100的自然数中含的数,即明7找出来,需要利用选择结构if语句添加限定

4、条件。1铲,明7”判断程序n=100for i in range(l,n+l):if 7 in str(i):print(i,end=)print(以上为明7数字”)控制台7 17 27 37 47 57 67 70 71 72 73 74 75 76 77 78 79 87 97 以上为明 7教字程序运行结束3.增加条件,同时判断暗7”。不仅要判别出明7”,还要判断暗7”,即找出被7整除的数。借助if语句添加条件,就可以同时判断是否是暗7。铲,明7”判断程序n=100for i in range(l1,n+1):if 7 in str(i) or i%7=0:print(i,end=)pri

5、nt (所有拍手数”)控制台14 17 21 27 28 35 37 42 47 49 56 57 63 67 70 71 72 73 74 75 76 77 78 79 84 87 91 97 98 所有拍手数 程序运行结束在程序中:是取余运算,运算结果为两数相除所得的余数。借助逻辑运算符可以判断多种情况。print默认输出是换行的,如果要实现不换行需要在变量末尾加 TOC o 1-5 h z ;讨论;IIII:假设只需枚举暗7,仅使用i%7=0并不能准确进行判断,请讨论还需要1;什么条件来进行综合判断。;IIIIII上 end=,专题二:寻找水仙花数如果一个3位数等于其各位数字的立方和,那

6、么称这个数为水仙花数。例如:153 = 1人3 + 5人3 + 3人3 ,因此153就是一个水仙花数。请尝试补全下面程序代码中缺少的枚举范围和判定条件,借助枚举算法寻找1000以内的水仙花数。for i in range(l,10):#枚举百位for j in rang():#枚举十位for k in rang():#枚举个位x=i*100+j*10+k if: #判定条件 print(x)在程序中:可使用*运算符完成幕运算,如2*3=8。请尝试输入以上程序,并查看运行结果,体验枚举算法的神奇和计算机强 大的计算能力。拓展阅读枚举在数学中的应用枚举算法起源于原始的计数方法,即数数。当我们面临的问题存在大量的可能答案(或中间过程)而暂时又无法用逻辑 方法排除这些可能答案中的大局部时,就不得不采用逐一检验这些答案的策略, 也就是利用枚举算法来解题。巩固与提高1、从所有候选答案中搜索正确结果,来解决问题的算法是()A.排序算法 B.枚举算法 C.递归算法 D.迭代算法2、在程序中,循环结构通过()函数控制枚举范围。A. print( ) B. range( ) C. str( ) D. input()3、()是取余运算,运算结果为两数相除所得的余数。A. % B. / C. ; D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论