1、优化集训10三种控制结构的程序实现1.下列有关循环结构的说法错误的是()A.while循环条件为真时无法跳出循环B.循环结构中允许在一个循环体里面嵌入另一个循环C.循环前不知道重复执行的次数的问题可用while循环D.“for in :”语句的循环次数等于序列的元素个数2.编写Python程序,实现如下功能:输入5个题目的答案,输出总得分及过关测试的结果评价(满分过关,不满分继续努力)。ans1=input(1.“疏影横斜水清浅,暗香浮动月黄昏”的作者是哪个朝代的?(单选,输入答案相应字母:A.唐B.宋C.元D.明):)ans2=input(2.“江碧鸟逾白,山青花欲燃”的作者是谁?(单选,输
2、入答案相应字母:A.李白B.杜甫C.苏轼D.晏殊):)ans3=input(3.“蝉噪林逾静”的下一句是?(单选,输入答案相应字母:A.树树皆秋色B.鸟鸣山更幽):)ans4=input(4.“东风夜放花千树,更吹落,星如雨”的作者是谁?(单选,输入答案相应字母:A.李清照B.辛弃疾C.苏轼D.晏殊):)ans5=input(5.“云中谁寄锦书来?雁字回时,月满西楼”的作者性别是?(单选,输入答案相应字母:A.男B.女):)if ans1=B or ans1=a:sum=sum+1if ans2=B or ans2=b:sum=sum+1if ans3=B or ans3=b:sum=sum+
3、1if ans4=B or ans4=b:sum=sum+1if ans5=B or ans5=b:sum=sum+1#以下分支结构用于根据总得分给出评价结果print(满分5分,总得分:,sum,分。,恭喜过关,勿骄勿躁!)print(满分5分,总得分:,sum,分。,尚需磨砺,继续努力!)为实现上述功能,请在划线处填入合适的代码。3.编写Python程序,用于求函数f(x)的值(如图所示)。f(x)=x(x0)2x(0x1)x2(1x2)x(x2)程序代码如下:x=float(input(请输入x的值:)f=xelif x1:elif xb:for i in range ():h=i *
4、9/5 + 32#计算摄氏温度i相应的华氏温度值print(摄氏,i,度相应的华氏温度为:,h,度)6.编写Python程序,实现如下功能:输入某一年份,输出该年份开始的12年的年份及相应的天干地支和生肖。运行界面如图所示。程序代码如下。y=int(input(请输入年份:)s=甲乙丙丁戊己庚辛壬癸l=子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥d=1:鼠,2:牛,3:虎,4:兔,5:龙,6:蛇,7:马,8:羊,9:猴,10:鸡,11:狗,12:猪for i in range(y,1):a=(i+6) % 10b=(i+8) % 12c1=sac2=lbc3=db+1print(+年是+c1
5、+c2+ +c3+年)(1)为实现上述功能,请在划线处填入合适的代码。(2)由上述算法可知,2024年对应的天干、地支和生肖为。7.输入每项运动消耗的热量,输入为0标志热量输入完毕,输入完毕后统计运动消耗的总热量,并输出结果。实现上述功能的Python程序如下,请在划线处填上合适的代码。a=#列表a用于存储输入的每项运动消耗的热量d=float(input(请输入当前项运动消耗的热量:)#以下循环用于将输入的每项运动热量添加到列表a,并输入新的热量值。输入数字0表示:热量录入结束a.append(d)d=float(input(请输入当前项运动消耗的热量:)s=0;i=1for j in a:
6、#统计总热量print(第,i,项运动消耗的热量为:,j)i=i+1print(消耗的总热量为:,)8.编写Python程序,实现如下功能:输入某一生肖,输出该生肖相应的排名。程序代码和运行界面如下。k=input(请输入您要查询的生肖(用1个汉字表述):)d=1:鼠,2:牛,3:虎,4:兔,5:龙,6:蛇,7:马,8:羊,9:猴,10:鸡,11:狗,12:猪c=0for i in d.values():c+=1if i=k:print(k+是排名第+的生肖)print(for遍历次数为,c)(1)为实现上述功能,请在划线处填入合适的代码。(2)将for i in 后面的“d.values()
7、”改为“d”,要程序功能不变,需将加框处代码改为。9.编写Python程序,实现如下功能:输入排名,输出排名相应的生肖。程序代码和运行界面如下。m=int(input(请输入您要查询的排名:)d=1:鼠,2:牛,3:虎,4:兔,5:龙,6:蛇,7:马,8:羊,9:猴,10:鸡,11:狗,12:猪c=0for i in d.keys():c+=1if i=m:print(排名第+str(m)+的生肖是+)print(for遍历次数为,c)(1)为实现上述功能,请在划线处填入合适的代码。(2)将for i in 后面的“d.keys()”改为“d”,程序功能(选填:改变 / 不变)。(3)为了优化
8、算法,要求在找到排名相应的生肖后终止for语句继续遍历。应在加框处添加代码实现相应的功能。10.编写Python小程序,输出九九乘法表,如下图所示。为实现上述功能,请在划线处填入合适的代码。#row为行,col为列for row in range():col=1while:print(row,col,=,str(row col),end=)print()#输出空行优化集训10三种控制结构的程序实现1.A解析使用break语句可以在条件还为真时跳出循环。2.sum=0if sum=5:else:解析Python中变量使用前需要先赋值指向得分的变量sum统计前需要赋初值0。5个
9、小题输入答案并计分完毕后,需要根据总得分的情况给出反馈,满分的过关,不满分继续努力。通过if后面的条件判断。if后的条件不满足,执行else:下的语句块。3.if x=0 and i=9: c+=1解析利用for遍历字符串中每个字符foriins:,循环体中对当前遍历到的字符i,通过if后的条件进行判断是否为数字。若i的ASCII码值大于等于“0”的ASCII码值且小于等于“9”的ASCII码值i为数字数字个数加1。5.a,b=b,aa,b+1,1解析由程序运行界面可知,输出温度是从低到高的顺序,所以用if语句对输入数据进行预处理保证a小b大。for遍历a,b之间的每个温度值,遵循“前闭后开”
10、原则a,b+1)。6.(1)y+12str(i)(2)甲辰龙解析(1)从y开始连续12年,最后1年是y+11年,range()函数遵循“前闭后开”规则,取y+12。print()函数内进行的是字符串连接运算,i是数值,需要用str()函数转换为字符串型后再参加字符连接运算。(2)将2024代入i后验证。7.while d!=0:s=s + js解析当前输入的热量d不为0时,重复执行将当前输入热量添加到列表a,并输入下一项运动热量的操作while循环(循环前不确定循环次数,但是明确循环条件)。通过累加器计算总热量,for循环前累加器s清零,循环体中通过s=s+的方式进行累加。for通过变量j遍历
11、列表a中存放的每项运动热量,循环体中j的含义为当前遍历到的运动热量。累加器s中存放的就是最后需要输出的结果(总热量),print()函数中输出变量值时,直接使用变量名。8.(1)str(c)解析foriind.values():遍历字典d中每个元素的值,当遍历到的当前元素值i和输入的生肖k相同时,输出该生肖相应的排名,每次遍历的元素排名由计数器c记录,第1个元素的排名为1,每次遍历排名c以1递增。print()函数中通过字符串连接运算得到输出结果,所以排名c要先str()函数转换为字符串型再参加接连运算。(2)di=k解析将foriin后面的“d.values()”改为“d”,则i遍历的是字典
12、d的键。if后的条件是判断当前元素的值和输入的生肖k是否相等。元素的值表达为“字典名键”di。9.(1)di解析foriind.keys():语句中i遍历的是字典的键,print()函数要输出的是排名相应的生肖字典的值di。(2)不变解析for语句遍历字典时,in后面用“字典名”和用“字典名.keys()”都是遍历字典的键。(3)break解析while后条件仍为真或for遍历序列还没结束时提前退出for循环用break语句。10.1,10,1col=rowcol+=1解析外循环for通过变量row遍历九九表中的9行,range()函数的第2参数遵循“前闭后开”规则,其值取10。一共9行(row),9列(col),外循环是行,内循环是列,每一行中,列值=行值。内循环中每次输出当前行的一列乘式,列数以1递增。