高中信息技术学业水平考试专题复习--优化集训10 三种控制结构的程序实现.docx
普通高中学业水平考试专题复习优化集训10三种控制结构的程序实现1 .以下有关循环结构的说法错误的选项是()A.while循环条件为真时无法跳出循环B.循环结构中允许在一个循环体里面嵌入另一个循环C.循环前不知道重复执行的次数的问题可用while循环Dffor 变量in 序列:“语句的循环次数等于序列的元素个数.编写Python程序,实现如下功能:输入5个题目的答案,输出总得分及过关测试的结果评价(总分值过 关,不总分值继续努力)。ansl=input(l“疏影横斜水清浅,暗香浮动月黄昏”的作者是哪个朝代的?(单项选择,输入答案相应字母:A. 唐B.宋C.元D.明):)ans2=input(2“江碧鸟逾白,山青花欲燃”的作者是谁?(单项选择,输入答案相应字母:A.李白B.杜甫C.苏轼D.晏殊):)ans3二input(3“蝉噪林逾静”的下一句是?(单项选择,输入答案相应字母:A.树树皆秋色B.鸟鸣山更幽):) ans4=input(4"东风夜放花千树,更吹落,星如雨”的作者是谁?(单项选择,输入答案相应字母:A.李清照B. 辛弃疾C.苏轼D.晏殊):)ans5=input(5“云中谁寄锦书来?雁字回时,月满西楼”的作者性别是?(单项选择,输入答案相应字母:A.男B.女):)if ansl='B' or ansl='a':sum=sum+lif ans2=,B, or ans2=,b,:sum=sum+lif ans3='B' or ans3=,b,:sum=sum+lif ans4='B' or ans4='b':sum=sum+lif ans5='B' or ans5='b':sum=sum+l#以下分支结构用于根据总得分给出评价结果print,总分值5分,总得分。sum;分。?恭喜过关,勿骄勿躁!)print。总分值5分,总得分。sum;分。?尚需磨砺,继续努力!) 为实现上述功能,请在划线处填入合适的代码。3.编写Python程序,用于求函数f(x)的值(如下图)。D:PycharmvenvScripts 清输入x的值:1.5 干(15)的值为225进程已结束,退出代码为0x (x < 0)2x (0 < x < 1) x2 (1 < x < 2)<Vx (x > 2)程序代码如下:x二float(input('请输入 x 的值:')elif x<l: elif x<2: f=x * * 2f=x * * 0.5print('f('+print('f('+')的值为'+str)为实现上述功能,请在划线处填入合适的代码。4.编写Python程序,实现如下功能:输入包含数字、字母等字符的字符串,统计输出其中数字字符)的个数。s=input(,请输入字符串:)c=0#以下循环结构用于统计字符串中数字的个数(循环变量为i) for if print中共有:c;个数字)为实现上述功能,请在划线处填入合适的代码。5编写Python程序,实现如下功能:输入2个对应于摄氏温度的整数,输出2数及其之间的其他整数对 应的华氏温度(如下图)。为实现上述功能,请在划线处填入合适的代码。防个fojrange遍历数字序列f -单块交换 D:PycharmvenvScriptspython.e 请输入第1个整数:30请输入第2个整数:28摄氏28度相应的华氏温度为:824度 摄氏29度相应的华氏温度为:84.2度 摄氏30度相应的华氏温度为:860度进程已结束,退出代码为0a=int(inputC请输入第1个整数:) b=int(input(,请输入第2个整数:,) if a>b: for i in range ():h=i* 9/5 + 32 #计算摄氏温度i相应的华氏温度值print。摄氏,度相应的华氏温度为。h,度)6 .编写Python程序,实现如下功能:输入某一年份,输出该年份开始的12年的年份及相应的天干地支 和生肖。运行界面如下图。郎:for_遍历朝序列_访问李将AD:PycharmvenvScrip清输入年份:2005;2005年是乙酉鸡年-2006年是丙戌狗年"2007年是丁亥猪年32008年是戊子鼠年K -200许是己丑牛年)201晦是庚亩虎年"2011年是辛卯兔年2012年是壬辰龙年2013年是癸巳蛇年2014年是甲午马年2015年是乙未羊年2016年是丙申猴年进程已结束,退出代码为0程序代码如下。y=int(input。请输入年份:)s二'甲乙丙丁戊己庚辛壬癸上子?丑?寅?卯?辰?巳?午?未?申?酉,戌,亥d= 1:鼠 2 牛3 虎,4:兔,5:龙,6:蛇;7:马,8:单,9:猴,10:1鸡 J1:1 狗;12:潴,for i in range(y,1):a=(i+6) % 10b=(i+8) % 12cl=sac2=lbc3=db+lprint(+'年是'+cl+c2+'=c3+'年')为实现上述功能,请在划线处填入合适的代码。由上述算法可知,2024年对应的天干、地支和生肖为 o.输入每项运动消耗的热量,输入为0标志热量输入完毕,输入完毕后统计运动消耗的总热量,并输出 结果。实现上述功能的Python程序如下,请在划线处填上合适的代码。a=#列表a用于存储输入的每项运动消耗的热量d=float(input。请输入当前项运动消耗的热量:)#以下循环用于将输入的每项运动热量添加到列表a,并输入新的热量值。输入数字0表示:热量录入 结束a.append(d)d=float(inputC请输入当前项运动消耗的热量:) s=0;i=lfor j in a:#统计总热量print(第工项运动消耗的热量为:二j) i=i+lprint。消耗的总热量为:;)8编写Python程序,实现如下功能:输入某一生肖,输出该生肖相应的排名。程序代码和运行界面如 下。郎:for_遍万字典黑和值对应查询_break_生角排名查询(反>D:PycharmvenvScriptspython.exe D:/Pychai请输入您要查询的排名:3,排名第3的生肖是虎- 千。遍而次数为3共进程已结束,退出代码为ek=inputC请输入您要查询的生肖(用1个汉字表述):')d= 1:鼠,2:牛,3:虎;4:兔,5:龙,6:蛇,7:马,8:羊,9:1猴;10:鸡,11:狗,12:潴,c=0for i in d.valuesQ:c+=lif i二二 k|:print(k4是排名第二 4的生肖')printCYor遍历次数为:c)为实现上述功能,请在划线处填入合适的代码。(2)将for i in后面的“d.vahies()”改为“d”,要程序功能不变濡将加框处代码改为 o9.编写Python程序,实现如下功能:输入排名,输出排名相应的生肖。程序代码和运行界面如下。运行:for遍万字典费和值对应查询break生月排名查询(反)A0:PycharmvenvScriptspython.exe D:/Pychai请输入您要查询的排名:3,排名第3的生肖是虎-f”遍因次数为3共进程已结束,退出代码为em=int(input(,请输入您要查询的排名:)d二1:鼠,2:牛,3:虎,4:兔,5:龙,6:蛇;7:马,8:羊,9:猴;10:鸡,11:狗,12:潴,c=0 for i in d.keysQ: c+=l if i=m:prii*排名第,+str(m)4的生肖是'+ printCfor遍历次数为;c)为实现上述功能,请在划线处填入合适的代码。将for i in后面的“d.keys。”改为“cP濯序功能(选填:改变/不变)。为了优化算法,要求在找到排名相应的生肖后终止for语句继续遍历。应在加框处添加代码 实现相应的功能。10.编写Python小程序,输出九九乘法表,如以下图所示。为实现上述功能,请在划线处填入合适的代 码。0:Pychar«venvScriptspythcn.eie 0:/Pychdr«/HHK JVUt.PV1 1 « 12 > 1 > 2 22 = 4 3-185 3-2 5 6 5 5 s 9253035A045#row为行,col为列for row in range(): col=lwhilecol),end='')printCrow/xcol,-str(rowprint()print()#输出空行优化集训10三种控制结构的程序实现1 .A 解析使用break语句可以在条件还为真时跳出循环。2 . sum=0 if sum=5: else:解析©Python中变量使用前需要先赋值少指向得分的变量sum统计前需要赋初值0。5个小题 输入答案并计分完毕后,需要根据总得分的情况给出反应,总分值的过关,不总分值继续努力。今通过if 后面的条件判断。if后的条件不满足,执行else:下的语句块。3 .if x<0: f=2* x else: ©str(x)解析多条件的分支语句,只有第1个条件是跟在if后面的,其他条件都跟在elif后面;对照题目的 函数描述可得;前面条件都不满足时,执行else:下的语句块;x是float型,print。函数中输出前要进 行字符连接,需要用str()函数转成字符串型。4 .i in s:(Di>=,0, and i<=,9,:c+=l解析利用for遍历字符串中每个字符今for i in s:,循环 体中对当前遍历到的字符i,通过if后的条件进行判断是否为数字。假设i的ASCII码值大于等于 的ASCII码值且小于等于"9”的ASCII码值9i为数字玲数字个数加lo.a,b=b,a a,b+l,l解析由程序运行界面可知,输出温度是从低到高的顺序,所以用if语句对 输入数据进行预处理保证a小b大。for遍历a,b之间的每个温度值,遵循“前闭后开”原那么好 a,b+l)o5 .(l)y+12 str(i) (2)甲辰龙 解析从y开始连续12年,最后1年是y+11年,range。函数遵循“前 闭后开”规虬取y+12。print。函数内进行的是字符串连接运算,i是数值,需要用str()函数转换为字符 串型后再参加字符连接运算。将2024代入i后验证。6 .while d!=0: s=s + j s解析当前输入的热量d不为。时,重复执行将当前输入热量添加到列表a,并输入下一项运动热量 的操作fwhile循环(循环前不确定循环次数,但是明确循环条件)。通过累加器计算总热量,for循 环前累加器s清零,循环体中通过s=s+口的方式进行累加。for通过变量j遍历列表a中存放的每项运 动热量,循环体中j的含义为当前遍历到的运动热量。累加器s中存放的就是最后需要输出的结果 (总热量),print。函数中输出变量值时,直接使用变量名。7 .(l)str(c)解析for i in d.values。:遍历字典d中每个元素的值,当遍历到的当前元素值i和输入的生 肖k相同时,输出该生肖相应的排名,每次遍历的元素排名由计数器c记录,第1个元素的排名为1,每 次遍历排名c以1递增。print。函数中通过字符串连接运算得到输出结果,所以排名c要先str()函数 转换为字符串型再参加接连运算。(2)di=k 解析将砧3瞬后面的“(121呢$()”改为“(1'',那么i遍历的是字典d的键。if后的条件是判断 当前元素的值和输入的生肖k是否相等。元素的值表达为“字典名键用。8 .(l)di解析for i in d.keys():语句中i遍历的是字典的键,print。函数要输出的是排名相应的生肖分 字典的值-(2)不变 解析for语句遍历字典时,in后面用“字典名”和用“字典名.keys。"都是遍历字典的键。 (3)break 解析while后条件仍为真或for遍历序列还没结束时提前退出for循环用break语句。10 . 1,10 (2)col<=row col+=l解析外循环for通过变量row遍历九九表中的9行,range。函数的第2参数遵循“前闭后开”规那么, 其值取10o一共9行(row),9列(col),外循环是行,内循环是列,每一行中,列值=行值。内循环中 每次输出当前行的一列乘式,列数以1递增。