资源简介 (共21张PPT)简单算法及其程序实现3.3解析与枚举①需要先将图像统一转换为黑白图像。如灰度值小于132,输出为黑色,否则输出为白色②灰度值=0.299×红色颜色分量+0.587×绿色颜色分量+0.114×蓝色颜色分量R=43G=10B=241Gray_scale=0.299*R+0.587*G+0.114*Bif Gray_scale <132:print(“黑色”)else:print(“白色”)解析算法解析与枚举求解某整数x的所有因子(不包含x本身)x = int(input(‘请输入整数x:’))i=1while i<=x-1:if :print(i)=x%i==0i=i+1枚举算法解析与枚举③若该信息点区域的黑色像素不少于所有像素的64%,则判断该信息点被填图④每个信息点由25x12像素组成fname = input(“请输入文件的名称”)f=open(fname,”r+”) #以读写的形式打开文件count = 01line = f.readline() #从文件中读取一行while line: #当line非空(从文件中读取到了数据)R,G,B= map(int,line)if 0.299*R+0.587*G+0.114*B<132:line = f.readline() #继续读取一行if :print(“已填涂”)count=count+1count>=25*12*0.64解析与枚举下列问题中适合使用解析算法解决的是( )A.计算两个电阻的并联值B.完成各大网站访问量的排名C.找出100以内所有的质数D.找出100以内所有6的倍数A例题模拟一个简易计算器,其功能是:输入两个数和一个运算符(加、减、乘、除),进行算术运算并输出运算结果。程序运行效果如下图所示。a=float(input(″输入第一个运算数:″))b=float(input(″输入第二个运算数:″))ch=input(″输入运算符:″)if______①______: ans=a+b print(a,″+″,b,″=″,ans)elif ch==″-″: ______②______ print(a,″-″,b,″=″,ans)ch==”+”ans=a-b例题模拟一个简易计算器,其功能是:输入两个数和一个运算符(加、减、乘、除),进行算术运算并输出运算结果。程序运行效果如下图所示。elif ch==″*″: ans=a*b print(a,″*″,b,″=″,ans)elif ch==″/″: if______③______:ans=a/bprint(a,″/″,b,″=″,ans) else:print(″除数不能为0″)b!=0例题将10个数据“12,20,15,86,55,69,96,35,99,72”依次存放在列表List1中,使用如下Python程序段找出大于50的数的个数。List1=[12,20,31,86,55,69,96,35,99,72]count=0key=50for i in range(0,10):if____________: count+=1print(″大于50的个数为:″,count)List[i]>50例题将10个数据“12,20,15,86,55,69,96,35,99,72”依次存放在列表List1中,使用如下Python程序段找出等于5的倍数的数的个数。List1=[12,20,31,86,55,69,96,35,99,72]count=0key=5for i in range(0,10):if____________: count+=1print(″大于50的个数为:″,count)程序中划线处的代码应为( )A.List1[i]//count==0 B.List1[i]%count==0C.List1[i]//key==0 D.List1[i]%key==0例题下列程序的功能是将十进制数整数转换为二进制数。程序运行时,输入一个十进制数整数,输出该十进制数对应的二进制数。程序运行效果如上图所示。n=int(input(″请输入一个十进制整数:″))y=ns=″″while______①______:r=y%2______②______y=y//2print(″十进制数:″,n,″转换为二进制数为:″,s)y!=0s=str(r)+s例题角谷猜想:任意一个大于1的自然数n,进行如下运算:若n为奇数,则n的值替换为3n+1,若n是偶数时,则n变为原来的一半,经过若干次计算后,该数最终必为1。编写程序,输入一个大于1的自然数,计算从该数变为1的计算次数,并输出计算过程及计算的次数。程序运行效果如下图所示。n=int(input(″输入一个大于1的自然数:″))count=0print(n,″→″,end=″″)输入一个大于1的自然数:100100→50→25→76→38→19→58→29→88→44→22→11→34→17→52→26→13→40→20→10→5→16→8→4→2→1计算次数为:25例题while______①______:count=count+1if n% 2==1: ______②______else: n=n//2if n==1: print(n,″\\n″)else: print(n,″→″,end=″″)print(″计算次数为:″+______③______)(2)当输入的n为3,则输出的计算次数为________。(填数字)输入一个大于1的自然数:100100→50→25→76→38→19→58→29→88→44→22→11→34→17→52→26→13→40→20→10→5→16→8→4→2→1计算次数为:25例题m钱买n鸡问题。用m元买n只鸡,公鸡5元一只,母鸡3元一只,小鸡1元3只,输出用m钱买n鸡的所有方案及方案总数。count=0m=int(input(″请输入钱:″))n=int(input(″请输入要买的鸡的数量:″))for i in range(m//5+1): for j in range(m//3+1):k=______①______if______②______: count+=1 print(″方案″,count,″:″,i,j,k)请输入钱:50请输入要买的鸡的数量:20方案1:3 11 6方案2:7 4 9共有方案数:2n-i-ji*5+j*3+k/3 == m例题有一只猴子,第一天摘了若干个桃子,当场吃掉了一半,觉得还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个;以后每天早上都吃了前一天剩下的一半多一个。到第10天早上猴子想再吃时,发现只剩下一个桃子了,问第一天猴子共摘了多少个桃子?x=1for n in range(2,11): ________________print(″The number of peaches is:″,x)【运行结果为】The number of peaches is:1534编写程序,实现如下功能:对于任意输入的正整数n,求出具有n个不同因子的最小正整数m(m≤50000)。例如:n=4,则m=6,因为6有4个不同整数因子1,2,3,6;而且是最小的有4个因子的整数。import mathdef sum(k): s=0 for i in range(1,int(math.sqrt(k))+1):if k % i==0: s+=2if k==i*i: ______②______ returns例题编写程序,实现如下功能:对于任意输入的正整数n,求出具有n个不同因子的最小正整数m(m≤50000)。例如:n=4,则m=6,因为6有4个不同整数因子1,2,3,6;而且是最小的有4个因子的整数。n=int(input(″请输入n:″))for m in range(1,50001): if______①______:print(m)break例题编写程序,实现如下功能:输入包含数字、字母的字符串,统计该字符串中数字字符的个数,并输出统计结果。s=input('请输入字符串:')count=0______①______numst=″0123456789″for i in range(0,n): if______②______:count+=1print(count)(2)输入字符串为“my2out304pop”,输出的结果为_____例题下列程序的功能是:程序运行时,输入正整数n,统计1至n的整数中包含数字2的整数个数,并输出统计结果。若n=20,有2、12和20三个整数包含数字2,则输出统计结果“3”。s=0n=int(input(″请输入n:″))for i in range(1,n+1): k=False ______①______ 例题下列程序的功能是:程序运行时,输入正整数n,统计1至n的整数中包含数字2的整数个数,并输出统计结果。若n=20,有2、12和20三个整数包含数字2,则输出统计结果“3”。 while not k and t>0:if t % 10==2: k=True ______②______ if k==True:s=s+1print(″包含2的整数共有:″,s) 展开更多...... 收起↑ 资源预览