2024-2025学年高中信息技术教科版(2019) 必修一 第2单元 编程计算

2024-08-04
| 14页
| 39人阅读
| 0人下载

内容正文:

第2单元 编程计算 一、选择题 1.在Python中,用于实现循环结构的关键字是(   ) A.if B.while C.for D.loop 2.有以下的程序段,其中k取(   )值时x =3。 if k<=10 and k>0:     if k>5:         if k>8:             x=0         else:             x=1     else:         if k>2:             x=3         else:             x=4 A.3  4  5 B.1  2 C.5  6  7 D.5  6 3.下面代码的输出结果是(   ) weekstr = “星期一星期二星期三星期四星期五星期六星期日”;  weekid = 3 print(weekstr[weekid*3: weekid*3+3]) A.星期二 B.星期三 C.星期四 D.星期一 4.自定义函数delStr(s,m)的功能是删除字符串s中第m位上的字符。程序段如下所示: def delStr(s,m):     n=len(s)     if m<1 or m >n:         result="wrong input"     elif m==1:         result=s[1:]     elif m < n:              elif m==n:         result=s[:-1]     return result 则程序中划线处应填入的语句是(   ) A.result=s[1:m-1]+s[m:] B.result=s[:m-1]+s[m:] C.result=s[:m-1]+s[m+1:] D.result=s[:m]+s[m+1:] 5.在Python中,下列表达式的值为“假”的是(  ) A.3+5>7 and 7-3<5 B.8%4>4 or 4//3>2 C.5>3 or 3<2 D.4+12>15 6.有Python程序代码如下: a=[3,0,8,0] a.sort() m1=a[3]*1000+a[2]*100+a[1]*10+a[0] i=0 while i<=3:     if a[i]>0:         a[0],a[i]=a[i],a[0]         break     i=i+1 m2=a[0]*1000+a[1]*100+a[2]*10+a[3] print(m1,m2) 运行上面Python程序代码段,输出结果为(   ) A.8300 3008 B.8300 38 C.8003 3008 D.8300 3800 7.有如下Python程序段: x,y,z=input("请输入三个整数:").split(",") x=int(x);y=int(y);z=int(z) maxt=x if y>maxt:maxt=y if z>maxt:maxt=z print(maxt) 运行该程序,输入数据“2,13,9”,程序的输出结果是(    ) A.13 B.9 C.2 D.31 8.小王收集了某时刻全国各省部分城市的PM2.5和AQI的数据保存在“kqz1.x1sx”中,部分数据如下图所示,编写Python程序,统计当时AQI值(AQI值不含重复数据)最小的5个城市。 import pandas as pd df=pd.read_excel("kqzl.xlsx") df1=df.sort_values("AQI",ascending=True) print( ) 要实现上述功能,程序加框处实现输出AQI值最小的5个城市,下列可行的有(   ) ①df1.head(5)  ②df1.tail(5)  ③df1[0:5]  ④df1[0:6]  ⑤df1.head() A.①④ B.②③ C.①③⑤ D.①④⑤ 9.为了保证图书的有效流通,在该图书馆内借书,30天及以内可享受免费,超过规定日期10天及以内,每天需交纳滞还费0.2元,逾期10天以上则每天需交纳滞还费0.5元。下列Python程序段中符合要求的是(   ) A. if day<=30:     pay=0 if day>40:     pay=2+0.5*(day-40) else:     pay=0.2*(day-30) B. if day<=30:     pay=0 elif day<=40:     pay=0.2*(day-30) else:     pay=2+0. 5*(day-40) C. pay=0 if 30<day<=40:     pay=0.2*(day-30) else:     pay=2+0.5*(day-40) D. pay=0 if day>=30:     pay=0.2*(day-30) elif day>40:     pay=2+0.5*(day-40) A.A B.B C.C D.D 10.有如下Python程序段: d=[3,9,2,0,2,4] s=[0,1,2,3,4,5] n=len(d) for i in range(n-1):     for j in range(n-1,i,-1):         if d[s[j]] < d[s[j-1]]:             s[j],s[j-1]=s[j-1],s[j] print(s) 执行该程序段后,输出的结果是(   ) A.[3,4,2,0,5,1] B.[3,2,4,0,5,1] C.[1,5,0,4,2,3] D.[1,5,0,2,4,3] 11.函数 len([10,12,35,46])的返回值是(   ) A.10 B.12 C.4 D.46 12.以下问题中不适合用程序处理的是(   ) A.计算,23×35= B.输出2023年所有星期日的日期 C.交通信号灯定时变换 D.室温达到28摄氏度时,风扇启动 13.某Python程序如下: a=[0]*4 for i in range(7): j=0 a [j]+=1 while a[j]= =2:     a [j]=0     j+=1     a [j]+=1 print(a[::-1]) 程序运行后输出的结果为(    ) A.[1,1,1,0] B.[0,1,0,1] C.[0,1,1,1] D.[1,0,1,0] 14.“鸡兔同笼”是一个经典的数学问题,现在我们想通过编制计算机程序来解决鸡兔同笼问题,其基本过程为(    ) ①调试运行程序      ②分析问题     ③设计算法     ④问题解决      ⑤编写程序 A.①②③④⑤ B.②④③⑤① C.④②③⑤① D.②③⑤①④ 15.有如下python程序,执行后,程序输出结果为(   ) s='13,12,12,15,26,23,36' n=len (s) a=["]*n head=tail=0 t=" For ch in s: if '0' <=ch<='9': t=t+ch else: While head<tail: if t<a[tail-1]: tail-=1 else: break a[tail]=t tail+=1 t=" while head<tail: print (a[head],end='') head+=1 A.12  15  26  36 B.12  15  23  26 C.12  12  15  23 D.12  13  15  23  36 16.在Python语言 中,下面程序的屏幕输出结果是(   ) s=1 for i in range(1, 9,2): s=s*2 print (s) A.2 B.8 C.16 D.32 17.以下Python程序段: n=l for i in range(0, 5):    n=n*i print(n) 运行后的输出结果为(    ) A.0 B.24 C.120 D.60 18.有如下 Python 程序段: import random n=6;a=[0]*n;i=0 while i<n:   k=random.randint(1,10)   if k%5==0:       i-=1   elif k%3==0:       a[n-1]=k       n=n-1;i+=1   else:       a[i]=k   i=i+1 执行该程序段后,列表a中的各元素可能的是(    ) A.[8,0,0,3,1,6] B.[0,0,5,8,1,3] C.[1,4,0,0,6,7] D.[8,0,0,8,1,9] 二、填空题 19.在Python中,使用 循环可以遍历字典的键值对。 20.在数学课堂上,小智正尝试判断一个数是否既是2的倍数又是3的倍数,如果是2的倍数又是3的倍数则打印出“YES”,否则打印出“NO”,并写出了下列程序,由于操作失误误删了一行代码,请你补充该代码: num=int(input()) if :     print("YES") else:     print("NO") 21.Python表达式'ab'in'acbed'的值为 。 22.在Python中,使用 可以进行列表推导。 23.阅读下列程序,写出运行结果 sum=0 for k in range(1,11):     if k%2==0: sum=sum+k print(sum) 程序运行后输出结果是: 。 三、判断题 24.定义Python函数时必须指定函数返回值类型。( ) 25.Python使用缩进来体现代码之间的逻辑关系。( ) 26.Python语言的变量名要区分英文字母的大小写。( ) 27.计算机解决问题的过程依次是分析问题、设计算法、编写代码、调试运行,其中编写代码是核心。( ) 28.下列Python程序段运行结束后,赋值语句sum=sum+i共被执行了9次。( ) 四、操作题 29.小王因为毕业需要往家里邮寄物品,邮资的计费规则如下:重量在1000克以内(包括1000克)的,基本费8元;超过1000克的部分,除了收取基本费之外,每超过500克加收超重费3元,不足500克的部分按500克计算。现用Python程序实现以上功能,请在画线处填入合适的代码。 n=int(input()) if    ① :     fee=8 elif (n-1000)%500==0:     fee=8+(n-1000)//500*3 else:     ② print(fee) 30.在Python编辑器中打开“Y:\212”下的“p1.py”文件,按照下列要求进行操作并保存。使之能够实现如下功能: 输入一个数判断正负数或0,并输出“正数”“零”或“负数”。 测试数据: 输入8,输出结果:正数。 输入0,输出结果:零。 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.BC 【详解】本题考查Python循环结构的描述。在Python中,用于实现循环结构的关键字有两个,分别是 while 和 for。while 用于在条件为真时重复执行一段代码,而 for 用于遍历序列(如列表、元组、字符串等)中的每一个元素。选项 A. if 是条件语句,选项 D. loop 在Python中并不存在。故选BC。 2.A 【详解】本题考查Python基础。 若取到x=3,则必然进入if k>5判断的else分支。故k<=5。排除选项C、D。程序进入下一个分支语句,当k>2时,则x=3。故k可以取3、4、5。故正确答案为:选项A。 3.C 【详解】本题考查Python基础。 Python 中的字符串索引是从 0 开始的。字符串切片 s[start:end] 会返回从索引 start 到 end-1 的子字符串(包含 start 索引,但不包含 end 索引)。 题目中weekstr[weekid*3: weekid*3+3]=weekstr[9:12],故正确答案为:选项C。 4.B 【详解】本题考查Python基础。 自定义函数delStr(s,m)的功能是删除字符串s中第m位上的字符,分4种情况进行讨论,划线处为删除字符s中间m位置上的字符的情况,需注意的是m是字符串的实际位置(第1个字符的位置为1),对应字符串中的索引位置为m-1,因此答案为B。 5.B 【详解】本题考查Python基础。 表达式:8%4>4 or 4//3>2 8%4 是 0,0>4 是 False 4//3 是 1(整数除法),1>2 是 False False or False 是 False 故正确答案为:选项B。 6.A 【详解】本题考查Python程序。初始时,列表a的内容为[3,0,8,0],升序排序后为[0,0,3,8],因此变量m1的值为8300。变量m2是列表a中首先按从左到右次序找到第一个非零位置和a[0]交换所得,结果为[3,0,0,8],因此变量m2的值为3008。故答案为:A。 7.A 【详解】本题考查Python基础。 该程序功能是从输入的数字中,找到最大的一个数输出。故正确答案为:选项A。 8.C 【详解】本题考查程序分析。 调用head方法,可以取出前5条数据。默认为5条或指定参数5。tail方法取出末尾数据。故排除②。通过索引值0到4取得,故上限为5。故排除 ④。故正确答案为:选项C。 9.B 【详解】本题考查的是Python选择语句。选项A中,30天及以内,会执行else分支,不符合题意;选项C中,30天及以内,会执行else分支,不符合题意;选项D中,超过30天一直执行if分支,elif分支不会被执行,不符合题意。故选B。 10.B 【详解】本题考查程序分析。根据程序可知运行过程: 最后输出的s值为[3,2,4,0,5,1],故选择B。 11.C 【详解】本题考查函数相关内容。len()函数用于获取对象的长度,如字符串、列表、元组等。列表[10,12,35,46]中含有4个元素,故本题答案是C选项。 12.A 【详解】本题考查计算机解决问题相关内容。计算机解决的是从自然界、人类社会中抽象出来的数据或数学模型的数值解,也有利用计算机来进行图像处理、数值仿真、图像还原、数据挖掘(从海量数据中提取知识)、利用计算机模拟人类智能、从海量知识中提取有用的规律、模拟自然界或人类社会某些系统的行为、运行方式、模拟我们只能观测、无法实际接触的实际事务。A选项,“23×35=”通过简单计算即可解决,不需要用程序处理。BCD选项适合用程序处理。故本题答案是A选项。 13.C 【详解】本题考查的是Python循环嵌套。 当i取值为0时,a[0]=1,不满足while循环条件,结束第一次外循序,列表a为[1,0,0,0]; 当i取值为1时,a[0]=2,满足while循环条件进入内循环,a[0]=0,j=1,a[1]=1,结束第二次外循序,列表a为[0,1,0,0]; 当i取值为2时,a[0]=1,不满足while循环条件,结束第三次外循序,列表a为[1,1,0,0]; 当i取值为3时,a[0]=2,满足while循环条件进入内循环,a[0]=0,j=1,a[1]=2,满足while循环条件进入内循环,a[1]=0,j=2,a[2]=1,结束第四次外循序,列表a为[0,0,1,0]; 当i取值为4时,a[0]=1,不满足while循环条件,结束第五次外循序,列表a为[1,0,1,0]; 当i取值为5时,a[0]=2,满足while循环条件进入内循环,a[0]=0,j=1,a[1]=1,结束第六次外循序,列表a为[0,1,1,0]; 当i取值为4时,a[0]=1,不满足while循环条件,结束第七次外循序,列表a为[1,1,1,0]; 最后逆序输出列表a,故为:[0,1,1,1],选项C正确。 14.D 【详解】本题考查计算机解决问题相关内容。计算机解决问题的步骤:分析问题→设计算法→编写程序→调试运行程序→问题解决,故本题答案是D选项。 15.C 【详解】本题考查Python程序。该程序的目的是将给定的字符串s中的数字按照非递减顺序输出。程序中使用了一个单调递增栈的思想来实现。  程序执行步骤:  初始化字符串s为'13,12,12,15,26,23,36'。 初始化一个空列表a,长度为字符串s的长度,即7。 初始化头指针head和尾指针tail为0。 初始化临时字符串t为空字符串。 遍历字符串s中的字符,如果字符是数字,则将其加入临时字符串t,否则进行栈的维护。 在栈的维护过程中,当头指针小于尾指针且当前数字小于栈顶元素时,弹出栈顶元素;否则,将当前数字入栈。 循环结束后,输出栈中的元素。按照上述步骤执行,输出的结果应该是'12 12 15 23'。故答案为:C。 16.C 【详解】本题考查是Python循环语句。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop:计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。range(1, 9,2)生成的序列数是:1,3,5,7,故s=1*2*2*2*2=16,选项C正确。 17.A 【详解】本题考查Python循环结构的应用。i依次取0、1、2、3、4,因此n=n*i=1*0*1*2*3*4=0,故选A。 18.D 【详解】本题考查Python随机数、程序设计等相关内容。通过分析代码段,可知:当k=5或10时,a列表元素值不会出现5或10,B选项错误;当k=3、6、9时,a[5]元素值为对应的3、6、9,C选项错误;当列表元素前有两个0(未被修改)出现时,其列表最后的两个元素值应该是3、6、9中的一个,A选项错误。故本题正确答案是D选项。 19.dict.items() 【详解】本题考查Python循环的描述。在Python中,可以使用for循环结合字典的items()方法来遍历字典的键值对。items()方法返回一个包含字典键值对的视图对象。 20.num%2= =0 and num%3= =0 【详解】本题考查程序设计。 判断一个数能被另一个数整除,可以使用取余数是否为0判断。题目中判断一个数是否既是2的倍数又是3的倍数,故可以写为:num%2==0 and num%3==0。 21.False 【详解】本题考查Python程序设计相关内容。在Python中,in是一个运算符,用于检查一个值是否存在于一个序列(如字符串、列表、元组、集合)中,返回一个布尔值,即True或False,指示该值是否存在于序列中。字符串'ab'不在'acbed'中,其结果为False,故本题答案是:False。 22.list comprehension 【详解】本题考查Python程序设计相关内容。Python中的列表推导式(list comprehension)是一种方便快捷的语法,可以快速地生成列表。它的语法形式类似于数学中的集合推导式,语义也相似,因而易于理解和使用。故本题答案是:list comprehension。 23.30 【详解】本题考查的是Python循环语句。sum=0,变量i的范围是1~10,如果是偶数,则执行sum=sum+i,故程序执行完,sum=sum+i=0+2+4+6+8+10=30。 24.错误 【详解】本题考查Python基础。 在Python中,定义函数时不需要显式指定函数的返回值类型,这与一些静态类型语言(如C++、Java或TypeScript)不同。Python是一种动态类型语言,这意味着变量的类型是在运行时动态确定的,而不是在编写代码时静态确定的。故错误。 25.正确 【详解】本题考查Python基础。 Python 使用缩进来定义代码块(block)的范围。缩进是语法的一部分,这意味着缩进的正确使用对于程序的正确执行至关重要。Python 的这种设计选择强调了代码的可读性和简洁性。故正确。 26.正确 【详解】本题考查Python。Python语言的变量名是区分英文字母大小写的,这意味着在Python中,变量名var和Var被视为两个不同的变量。故说法正确。 27.错误 【详解】本题主要考查编写计算机解决问题相关内容。计算机解决问题要依次经过分析问题、设计算法、编写程序、调试运行的步骤,设计算法是编程的核心,是依据。故本题答案是:错误。 28.正确 【详解】本题考查的是Python循环与选择语句。range(1,20)生成1~19的整数,阅读程序可知,只有i为1~19的偶数,才执行赋值语句sum=sum+i。故一共被执行了9次。题干中说法正确。 【点睛】 29. n<=1000 fee=8+((n-1000)//500+1)*3 【详解】本题考查Python综合应用。 (1)①空对应的语句块为fee=8,显然判断的条件应为物品重量是否在1000克以内,即n<=1000;故答案为:n<=1000。 (2)当物品的重量超出1000克,此时需要判断超出的部分是否为500克的倍数,即中间的elif语句块,当物品重量超出的部分不是500克的倍数时,不足500克的按500克计算,因此需要在整除500的基础上+1再计算邮费,即②空为fee=8+((n-1000)//500+1)*3。故答案为:fee=8+((n-1000)//500+1)*3。 30.a=int(input("请输入一个数:")) if a>0:      print("正数") elif a==0:      print("零") else:      print("负数") 【详解】本题考查Python程序设计。调用input()函数读入一个数,默认是字符串类型,int() 函数用于将给定的值转换为整型;要判断一个数正负数或0,并输出“正数”“零”或“负数”,使用if-elif-else语句。具体代码如下: a=int(input("请输入一个数:")) if a>0: print("正数")elif a==0: print("零")else: print("负数") 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

2024-2025学年高中信息技术教科版(2019) 必修一 第2单元 编程计算
1
2024-2025学年高中信息技术教科版(2019) 必修一 第2单元 编程计算
2
2024-2025学年高中信息技术教科版(2019) 必修一 第2单元 编程计算
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。