浙教版(2019)必修一3.2Python语言程序设计同步练习

2024-06-04
| 9页
| 123人阅读
| 1人下载

内容正文:

浙教版(2019)必修一3.2Python语言程序设计同步练习 学校:___________姓名:___________班级:___________考号:___________ 一、选择题 1.有如下Python程序段: import random a=[1]*5 i=1 while i<len(a):     a[i]=a[i-1]+random. randint (0,2)*2     for j in range(i):         if a[i]==a[j]:             i=j             break     i+=1 print(a) 执行该程序后,输出的结果可能是(   ) A.[1,3,9,11,15] B.[1, 3, 5, 9, 13] C.[1,5,7,10,13] D.[1, 5, 5, 9, 13] 2.下列程序代码执行后不可能的结果是(    ) import random a = [2,3,4,5,6,7] b = [0] * 6 random. shuffle(a) i = 0 while i < 6:     if a[i] % 3 == 0:        b[i] = a[i] * 2     elif i % 2 == 0:        b[i] = a[i] * 2 + 1     i += 1 print(b) A.[12, 0, 9, 6, 11, 0] B.[11, 6, 5, 0, 15, 12] C.[15, 6, 5, 0, 9, 12] D.[7, 0, 11, 6, 0, 12] 3.阅读以下程序: def f(x):    if x > 6 or x < 1:       return "无法计算"    elif x == 6:       return 1    else:       return (f(x + 1) + 1) * 2 若调用此函数时输入的x为3,则函数返回值为(    ) A.11 B.10 C.22 D.'无法计算' 4.下列代码运行后,输出的结果为(    ) s = "1,6,5,3,4" n = 0 for i in range(0, len(s), 3):    j = i    while j < len(s):        n += len(s)-j        j += 3 print(n) A.9 B.15 C.24 D.30 5.二分查找时,要求数据是有序的,但有时我们又想保持数据的原始顺序,那可以引入一个索引数组解决这个需求。例如,已知无序数组a(下标0到n-1),通过引入索引数组b(下标0到n-1),使得a[b[0]]≤a[b[1]]≤a[b[3]]……≤a[b[n-1]](示例如图所示),再对这些有序数据进行二分查找。 通过索引数组b,实现a[b[0]]≤a[b[1]]≤a[b[3]]……≤a[b[n-1]]功能的程序段如下,方框中应填入的正确代码为 b = [i for i in range (len(a))]     # 索引数组b的初始值 for i in range(1, n):    for j in range(n - 1, i -1, -1): print (b) A. if a[b[j]] < a[b[j-1]]:     b[j], b[j-1] = b[j-1], b[j] B. if a[b[j]] < a[b[j-1]]: a[b[j]], a[b[j-1]] = a[b[j-1]], a[b[j]] C. if a[j] < a[j-1]: a[j], a[j-1] = a[j-1], a[j] D. if b[j] < b[j-1]: b[j], b[j-1] = b[j-1], b[j] A.A B.B C.C D.D 6.有如下程序段: s = "aabbbccdd" n = len(s); i = 3 while i < len(s):     if s[i] == s[i - 1] and s[i-2] == s[i - 3]:        s = s[:i] + s[i + 1:]     else:        i += 1 执行该程序段后,变量s的值是(   ) A."abcd" B."aabbcd" C."aabcd" D."aabccd" 7.数组a[0]至a[n-1]依次存放着n个数据,现需要删除数组中第x个元素(第1个元素为a[0])。实现该功能的程序段如下,方框中应填入的正确代码为(   ) for i in range(x - 1, n - 1, 1): n = n - 1 A.a[i] = a[i + 1] B.a[i + 1] = a[i] C.a[i] = a[i - 1] D.a[i - 1] = a[i] 8.在 Python 语言中,运行以下程序段后,输出的结果是(   ) L= [ 'a', 'b','c','d'] del (L [1]) print (L) A.['b','c','d'] B.['a','b','c'] C.['a', 'b','d'] D.['a','c','d'] 9.在 Python 中,执行以下语句后,显示的结果是(   ) >>>a=10;b=5 >>>a-=b >>>b+=a >>>print(a,b) A.5,10 B.10,5 C.5,5 D.10,10 10.在 Python 中,执行如下语句段后,输出的结果是(   ) a,b,c=0,1,2 if b>c:       a=c-b print (a) A.1 B.2 C.0 D.3 11.在 Python 语言中,函数round(9.8)的运算结果是(   ) A.'9' B.9 C.10 D.8 12.有如下Python程序段: n=int(input()) s=" " while n!=0:     x=n%10     s=s+str(x)     n=n//10 print(s) 若程序运行后输入“20220901”,输出的结果为(   ) A.TypeError B.10902202 C.20220901 D.16 13.地图软件的驾车导航、步行导航、骑行导航等功能给我们的生活带来了极大的便利。用户在使用地图软件的驾车实时导航功能时,软件会实时获取我们的位置、车速、方向、时间等信息,将数据发送给服务器,服务器将获取到的信息进行分析处理,转换为车流量信息,判断交通的拥堵情况并返回给用户,以不同颜色来呈现拥堵情况。拥堵指数是根据车流量等数据计算而来的,具体如表n所示,用python描述不同拥堵情况tmp和呈现的颜色,下列选项正确的是(   ) 拥堵指数 含义 0~1.4 通畅(绿色) 1.5~1.9 缓行(黄色) 2.0~3.9 拥堵(红色) 4.0及以上 严重拥堵(深红色) A. if tmp>=4.0:     print("深红色") elif tmp>=2.0:     print("红色") elif tmp>=1.5:     print("黄色") else:     print("绿色") B. if tmp>=4.0:     print("深红色") if tmp>=2.0:     print("红色") if tmp>=1.5:     print("黄色") else:     print("绿色") C. if tmp>=0:     print("绿色") elif tmp>=1.5:     print("黄色") elif tmp>=2.0:     print("红色") else:     print("深红色") D. if tmp>=0:     print("绿色") if tmp>=1.5:     print("黄色") if tmp>=2.0:     print("红色") else:     print("深红色") A.A B.B C.C D.D 14.下列Python表达式中,值为True的是(   ) A."TZ" in "TaiZhou" B.12//3**2==16 C."3123"<"761" D.2024%100!=1243//10%100 15.有如下 Python 程序段: a=[5,4,2,1,3,6];q=[0]*6; head=tail=0 for i in range(len(a)): if a[i]%2==1: q[tail]=a[i];tail=tail+1 elif head<tail: head+=1 print(tail-head) 执行该程序段后,输出结果为(      ) A.0 B.1 C.2 D.3 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.B 【详解】本题考查Python程序设计相关内容。分析程序段,a[0]=1,该程序段通过随机函数产生随机数:0,1,2,由语句“a[i]=a[i-1]+random. randint (0,2)*2”知,当前项将等于前一项,或比前一项大2或4,若当前项等于前一项,则重新产生该项,即最后生成序列中不可能出现重复值,且为递增的奇数序列。A选项,a[2]=9,比a[1]大6,选项错误。B选项,为可能序列。C选项,a[3]=10,为偶数,选项错误。D选项,a[1]与a[2]相等,选项错误。故本题答案是B选项。 2.D 【详解】本题考查Python程序设计相关内容。random.shuffle()用于将一个列表中的元素打乱顺序,值得注意的是使用这个方法不会生成新的列表,只是将原列表的次序打乱。分析程序段,若a[i]为3的倍数(3、6)时,则b[i]值为 a[i] * 2,即6、12;若i为2的倍数(0、2、4)时,则b[i]值为 a[i] * 2+ 1,即b[0]、b[2]、b[4]的值必为奇数;不满足以上两种情况者, b[i] =0。分析四个选项,D选项中b[4]=0错误,故本题答案是D选项。 3.C 【详解】本题考查Python程序设计相关内容。分析程序段,该函数为递归函数,当x为3时,其运行过程为:f(3)-->(f(4)+1)*2;f(4)-->(f(5)+1)*2;f(5)-->(f(6)+1)*2;f(6)=1。所以:f(5)=4;f(4)=10;f(3)=22。故本题答案是C选项。 4.D 【详解】本题考查Python程序设计相关内容,分析程序段,其运行过程如图所示: 故本题答案是D选项。 5.A 【详解】本题考查Python程序设计相关内容。题目采用冒泡排序的方法,若要保留其原始顺序,则在a[b[j]] < a[b[j-1]]成立时,将交换b[j], b[j-1] 可以实现,即: b[j], b[j-1] = b[j-1], b[j]。故本题答案是A选项。 6.D 【详解】本题考查Python程序设计相关内容。分析程序段,其运行过程如图所示: 故本题答案是D选项。 7.A 【详解】本题考查Python程序设计相关内容。若要删除数组中第x个元素,则应将第x+1个元素及其后面的元素依次往前移动一个位置。由于第1个元素为a[0],则第x个元素下标为x-1,代码段中,i从x-1开始,则应将其及后面元素依次前移,即执行a[i] = a[i+1]操作可以实现题目要求。故本题答案是A选项。 8.D 【详解】本题考查的是Python列表操作。列表索引号从0开始,del (L [1])表示删除索引号为0的元素。L= [ 'a', 'b','c','d'],del (L [1])将列表中'b'元素删除。最后L= [ 'a', 'c','d'],故选D。 9.A 【详解】本题考查的是Python表达式。a-=b等价于a=a-b=10-5=5,b+=a等价于b=b+a=5+5=10,print(a,b)输出a和b的值为5,10。故选A。 10.C 【详解】本题考查Python分支结构的应用。a=0,b=1,c=2,不满足if判断条件,因此输出a的值是0。故选C。 11.C 【详解】本题考查的是Python函数。round(x)方法返回浮点数x的四舍五入值。round(9.8)=10,故选C。 12.B 【详解】本题考查Python程序设计相关内容。程序段功能是将输入的数字字符串逆序输出,输入“20220901”,输出的结果为:“10902202”,故本题答案是B选项。 13.A 【详解】本题考查Python程序设计相关内容。题目采用if...elif...else结构实现功能需求,分析四个选项:A选项,可以实现题目要求;B选项,tmp>=4.0或tmp>=2.0时,均输出“黄色”,不符合题意,存在逻辑错误。C选项,若tmp>=0不成立,意味着tmp<0,后面的部分均不会执行,不符合题意。D选项,若tmp>=2.0不成立,意味着tmp<2.0,执行print("深红色"),不符合题意。故本题答案是A选项。 14.C 【详解】本题考查的是Python表达式。"TZ" in "TaiZhou"、12//3**2==16、2024%100!=1243//10%100值为False,"3123"<"761"值为True。故选C。 15.B 【详解】本题考查Python程序调试与执行。分析程序,当a[i]是奇数时,则将a[i]保存到q中,同时tail递增1,若a[i]是偶数且head<tail时,则head递增1。第一次循环,a[i]=5,则tail=1,第二次循环,a[i]=2,执行elif,head=1;第三次循环,不满足判断条件,跳过;第四次循环,a[i]=1,则tail=2;第五次循环,a[i]=3,则tail=3;第六次循环,a[i]=6,head=2,循环结束。因此输出tail-head=3-2=1。故选B。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

浙教版(2019)必修一3.2Python语言程序设计同步练习
1
浙教版(2019)必修一3.2Python语言程序设计同步练习
2
浙教版(2019)必修一3.2Python语言程序设计同步练习
3
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。