资源简介 第2单元 编程计算 综合练习 教科版(2019) 必修1 数据与计算一、选择题1.有如下程序段,测试结果为图 11 所示图 11n = int(input("请输入行数:"))if n % 2 == 0: #保证n 的值为奇数n=n-1a=[]for i in range(n):if i<=n//2:b=2*i+1 #当在上半部分的时候else:#当在下半部分的时候 a.append(" "*w+"&"*b)for s in a: print(s)请输入行数:6 & &&&&&&&&&&& &上述程序中划线处可选语句为( )①b=n-2*i+1 ②b=(n-i)*2-1 ③w=(n-b)%2 ④w=(n-b)//2A.①③ B.①④ C.②③ D.②④2.下面的Python程序段运行后的输出结果是( )x=24if x%2=1:print(x,"是奇数。")else:print(x,"是偶数。")A.24是奇数。 B.x是偶数。 C.x是奇数。 D.24是偶数。3.有如下 python 程序段: s=''from random import *for i in range(1,4): k = int(random()*3+1) c=chr(96+k) if i % 2 == k % 2: s=s+c else: s=c+s print(s)若该段程序执行以后,s 的值不可能的是( )A.'abc' B.'bbc' C.'aab' D.'caa'4.有如下Python程序段:s1=input("请输入字符串:")a=[0]*128for item in s1:ch=ord(item)a[ch]=a[ch]+1s2=""for i in range(len(a)):for j in range(a[i]):s2=s2+chr(i)print(s2)列表a各元素的初始值都为0,s1中输入的内容为“abs54int”。执行该程序后,程序输出的结果中第5个字符为( )A.n B.s C.4 D.i5.有下列Python程序段:d=[["c",1],[1,2],["o",3],[15,4],["d",5],[9,6],["e",7],[6,-1]]t=0;outs=""while t!=-1: s=d[t][l] outs=chr((ord(d[t][0])-97+d[s][0])%26+97)+outs t=d[s][1]print(outs)已知小写字母“a”的十进制ASCII码值为97,执行该程序段后,输出结果为( )A.yuzb B.bzyu C.kmdd D.ddmk6.有如下 python 程序段: n='15867239012' s=0 for x in n: if int(x)%2==0: continue elif s==14: break s+=int(x) print(s) 该程序段执行后,则输出结果为 ( )A.18 B.26 C.14 D.177.有下面一段程序:p = [ 2, 1, 3, 4, 5 ]c = 0for i in range( 2, 6, 2 ):if p[ i - 2 ] + p[ i -1 ] == p[ i ]: c += 1print( c )执行该段程序后,计算机显示的是()A.1 B.2 C.3 D.48.下列Python程序段功能为:随机生成省会城市的测试题目及相应答案。运行结果如图所示。import randomdict={"北京市":"北京","上海市":"上海","河北省":"石家庄",…}#dict中存储中国34个省级行政区及其省会城市sf=list( (1) )sh=list( (2) )sj=random. randint(0,33) #生成[0,33]之间的整数zd=sh[sj]del sh[sj] #删除列表sh中的第sj项xx=random. sample(sh,3)+[zd] #随机产生列表sh中的3项,与zd连接成新列表xxrandom. shuffle (xx) #对列表xx中的内容进行随机排序print("%s的省会城市是?"% (3) )for i in range(4):print (%s. %s'%('ABCD'[i],xx[i]))print('本题参考答案为:%s'%('ABCD'[ (4) ]))上述程序段中方框处可选语句为:( )①dict. values ②dict. keys() ③sh[sj]④sf[sj] ⑤xx. index(zd) ⑥xx[zd]则(1)(2)(3)(4)处语句依次可为A.①②④⑤ B.①②③⑥ C.②①④⑥ D.②①④⑤二、填空题9.有10个数据34,22,101,8,14,88,24,17,54,7依次存放在列表list中,有如下Python程序,当程序运行结束时,输出的值是: _____list= [34,22, 101,8,14,88,24,17,54,7]num=list[0]for i in range(1,10):if list[i]num=list[i]print(num)10.Python语言用于实现循环结构的语句有______语句和while语句。11.完善程序。求出100以内满足afor a in range(1,101) for b in range ___ :for c in range(1,101): if____: print(a," ",b,"",c)12.阅读程序代码,写出运行结果。运行结果是:__________。13.阅读程序。分析代码并回答问题。list=['a','b','c','d','e','f','g']list1=[]list2=[]for i in range(7): if i%2==0: list1.append(list[i])else: list2.append(list[i])print(list1)print(list1)(1)list 的数据类型是 _______。(2)list中的元素的数据类型 ________。(3)list1=[]的作用是 _______。(4)for i in range(7)语句中,i 的实际数据范围是从_____到 ____。(5)append(list[i])的作用是______。三、判断题14.在循环中continue语句的作用是跳出循环的执行。( )15.屏幕保护程序的主要作用是保护用户的眼睛。( )16.王军同学编写程序解决“韩信点兵”问题后,总结出计算机解决问题的过程分为分析问题-设计算法-编写程序-调试运行程序等步骤。 ( )17.键盘上的Ctrl键具有独立的控制程序运行的作用。( )18.分析问题就是从具体的问题中,明确条件和需求,找出条件和需求之间的关系,并尽量用数学的语言加以描述。( )四、操作题19.判断身份证校验位是否正确第一步:将身份证号码的第1位数字与7相乘;将身份证号码的第2位数字与9相乘;将身份证号码的第3位数字与10相乘;将身份证号码的第4位数字与5相乘;将身份证号码的第5位数字与8相乘;将身份证号码的第6位数字与4相乘;将身份证号码的第7位数字与2相乘;将身份证号码的第8位数字与1相乘;将身份证号码的第9位数字与6相乘;将身份证号码的第10位数字与3相乘;将身份证号码的第11位数字与7相乘;将身份证号码的第12位数字与9相乘;将身份证号码的第13位数字与10相乘;将身份证号码的第14位数字与5相乘;将身份证号码的第15位数字与8相乘;将身份证号码的第16位数字与4相乘;将身份证号码的第17位数字与2相乘。第二步:将第一步身份证号码1~17位相乘的结果求和,全部加起来。第三步:用第二步计算出来的结果除以11,这样就会出现余数为0,余数为1,余数为2,余数为3,余数为4,余数为5,余数为6,余数为7,余数为8,余数为9,余数为10共11种可能性。第四步:如果余数为0,那对应的最后一位身份证的号码为1;如果余数为1,那对应的最后一位身份证的号码为0;如果余数为2,那对应的最后一位身份证的号码为X;如果余数为3,那对应的最后一位身份证的号码为9;如果余数为4,那对应的最后一位身份证的号码为8;如果余数为5,那对应的最后一位身份证的号码为7;如果余数为6,那对应的最后一位身份证的号码为6;如果余数为7,那对应的最后一位身份证的号码为5;如果余数为8,那对应的最后一位身份证的号码为4;如果余数为9,那对应的最后一位身份证的号码为3;如果余数为10,那对应的最后一位身份证的号码为2。(1)如果身份证的前17位是34052419800101001,则该身份证的校验位是__________。(2)实现上述功能的代码如下,请在划线处填入合适的代码,使程序正常运行。(3)实现上述功能的代码如下,但加框处代码有错,请改正。def check(s):s1=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]s2='10X98765432'k=0for i in ____________①:k=k+int(s[i])*s1[i]return_________sfz=input('请输入身份证号:')_____________②if t !=18:print('位数有误,请重新输入!')else:if sfz[-1]=='x':sfz=sfz[:-1]+"X"if ____________________③:print('合法身份证号')else:print('非法身份证号')五、简答题20.定义函数的基本格式是: ______。21.判断输入的一个整数能否同时被3和7整除,若能,则输出“Yes”;否则输出“No”。试卷第1页,共3页试卷第1页,共3页参考答案:1.D2.D3.C4.D5.C6.B7.A8.D9.710.for11. (1,101) a*a==b*b+c*c12.11413. 列表 字符型 定义一个空的列表 0 6 可以向list中添加元素14.错15.错误16.对17.错误18.对19. X range(0,17) t=len(sfz) check(sfz)==sfz[-1] s2[k%11]20.def 函数名(参数): #函数说明 语句或语句组 return 返回值21.n=int(input("请输入一个整数:"))if n%3==0 and n%7==0: print("Yes")else:print("No")答案第1页,共2页答案第1页,共2页 展开更多...... 收起↑ 资源预览