浙教版(2019)高中信息技术 3.2 Python语言程序设计 通关练习
试卷更新日期:2021-11-25 类型:同步测试
一、选择题
-
1. 下列选项中,不是Python赋值语句的是( )A、a,b = 1,3 B、a = a + 1 C、a = b = 1 D、a + 1 = 12. Python中变量的命名要满足一定的规范,以下可以用作变量名的是( )A、3dmax B、import C、Student_5 D、abc#1233. 以下 Python程序代码段的运行结果是( )
a = 3
b = a * 4
#b = b / 6
print(b)A、3 B、0.5 C、12 D、24. 以下编程语言中执行效率最高的是( )A、汇编语言 B、机器语言 C、Python语言 D、C++语言5. 下列Python语句书写正确的是( )A、a,b=b,a B、PRINT(' a=',35) C、n= int(input("n =5") D、a=3/{[45-2]*11}6. 某市实施交通管制,早晚高峰根据车牌号单双号限行。车牌尾号为单号的双号日限行,车牌尾号为双号的单号日限行。若车牌尾号不是数字,则从车牌号中取最后一位数字。实现上述功能的Python程序代码如下:
chepai = input('请输入您的车牌:浙A')
for i in range( , -1):
if '0' <= chepai[i] <='9':
lastnum = int(chepai[i])
if lastnum % 2 == 0:
print('车牌尾号双号,单号日限行!')
else:
print('车牌尾号为单号,双号日限行!')
break
划线处应填入代码是( )
A、len(chepai)-1,-1 B、len(chepai),0 C、len(chepai)-1,0 D、1,len(chepai)+17. 小张收集了近阶段要学习的英文单词,存储为“data.txt”文件,格式如图所示。处理“data.txt”文件中英文单词的 Python 程序段如下:
file=“data.txt”
n=0
for word in open(file): #打开文件准备读
if word[0:1]=='c': #word每次读到第一行信息,word[0:1]则是当前行字符的第1个字符
n=n+1
print(n)
运行该程序段后,输出的值为( )
A、1 B、2 C、3 D、58. 中国大陆居民身份证由18位数字组成,其中第7至14位数字代表居民的出生年月日,身份证号码现保存在字符串变量s中,小张尝试对身份证号码中的出生年月日进行提取,以下表达式不正确的是( )A、s[7:15] B、s[6:14] C、s[-12:-4] D、s[6:-4]9. 以下Python程序段执行后,输出结果为( )。m= 29
if m%3!=0:
print (m, "不能被3整除")
else
print (m,“能被3整除")
A、m不能被3整除 B、29不能被3整除 C、29能被3整除 D、m能被3整除10. 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。构成DNA的碱基共有 4 种,分别为腺嘌呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。在两条互补碱基链的对应位置上,A总是和T配对,G总是和C配对。编写Python程序实现如下功能: 随机产生一条单链上的碱基序列,输出其对应的互补链上的碱基序列。( )import random
DNA=['A','G','T','C']
s=''
for i in range(20):
①
print(s)
match={'A':'T','T':'A','G':'C','C':'G'}
t=''
for i in range(20):
②
print('互补链:',t)
A、①s=random.choice()+s ②t= t+match[i] B、①s=s+random.choice(DNA) ②t= t + match[s[i]] C、①s=s+random.choice() ②t= t + match[s[i]] D、①s=random.choice(DNA)+s ②t= t + match[i]11. 根据Python中变量命名遵循的规则,正确的是( )A、char21 B、2020Py C、Python D、name.Ch12. 在用Python编程对数据进行分析的时候,代码pandas.DataFrame.sum执行的操作是( )A、返回所有列的和 B、返回所有行的和 C、返回所有数据中的最大值 D、返回所有数据中的最小值13. 我们在用Python进行数据分析的时候,经常会用到pandas库中的DataFrame,这是类似于( )的数据结构 。A、一维表格 B、二维表格 C、三维表格 D、四维表格14. 小张是一个程序员,他和其他同事共同编写一个Python程序。他想要为自己编写的那部分程序代码添加备注,以便其他同事能看懂他的程序代码,你应该怎么做( )A、将备注置于#符号后添加 B、将备注置于括号中添加 C、将备注添加到代码的第一行之前,以*号标注 D、将所有备注添加到代码的最后15. 汉诺塔游戏中,如果有n个木盘,第n个木盘是最大的木盘,用递归的方法求解,将n个木盘从A杆移动到C杆,需要借助中间的B杆。只要超过一个木盘,在移动过程中,总会存在起始杆、过渡杆及目标杆的问题。因此,定义函数时,用到了4个参数: hanoi(n,s,m,t), n表示需要移动的盘子数量,s表示盘子的起始杆,m表示中间过渡杆,t表示目标杆,如图4.3.4所示。阅读下列程序。
def hanno(n,s,m,t):
if n==1:
print(s,'-->',t)
else:
hanno(n-1,s,t,m)
print(s,'-->',t)
hanno(n-1,m,s,t)
#主程序
n=int(input('请输入汉诺塔的层数:'))
hanno(n,'A','B','C')
input("运行完毕,请按回车键退出...")
下列说法错误的是( )
A、此递归没有终止结束条件 B、print(s,'-->',t)表示A杆上当前最后木盘移动到C杆上 C、hanno(n-1,s,t,m)表示A杆有n个盘子现将前n-1个盘子从A杆移动到B杆上 D、hanno(n-1,m,s,t)表示将B杆上的n-1个盘子移动到C杆上16. 现有如下python程序段:for i in range( 6 ):
p.append( int( random() * 10 ) + 1 )
for i in range( 2, 6 ):
if i % 2 == 1 and p[ i ] % 2 == 0:
p[ i ] += p[ i - 1]
elif i % 2 == 0 and p[ i ] % 2 == 1:
p[ i ] -= p[ i - 1]
执行该程序段后,在下列选项中,列表p中的元素值不可能的是( )
A、1, 2, 3, 4, 7, 2 B、1, 2, 14, -9, -5, 8 C、6, 8, 1, 4, 6, 10 D、6, 4, 14, -7, 3, 817. 能去除字符串中空格的方法是( )A、lstrip( ) B、upper() C、startswith( ) D、ljust( )18. 已知n是一个两位的正整数,则下列表达式能表示n的十位数字的是( )A、n % 10 B、n /10 C、n/100 D、n//1019. 如下程序段a = 2
b = 1
while a >= b:
b=a * b
a=2 * a
执行后,a、b的值分别为( )
A、4、2 B、16、64 C、8、8 D、2、120. 一名高中生在以下程序输入自己的年龄会得到的结果是( )s = input("请输入一个数字")
print("s是个小于10的数字" if int(s)<10 else "s是大于10的数字")
A、请输入一个数字 B、s是个小于10的数字 C、s是大于10的数字 D、自己年龄的数值21. 下面的程序段运行后的结果为( )s=0
for i in range(1,6,2):
s=s+i
print(s)
A、15 B、10 C、12 D、922. 下列选项中,属于Python输出函数的是( )。A、random() B、print() C、sqrt() D、input()23. 有以下程序段:a,b,c,d=input( ).split( )
a=int(a)
b=int(b)
c=int(c)
d=int(d)
print(c)
如果输入的是4 3 6 9,则程序运行的结果为( )
A、6 B、4 C、3 D、924. 计算机能直接识别和执行的的语言是( )A、汇编语言 B、机器语言 C、高级语言 D、C语言25. Python输入函数为( )。A、time() B、round() C、input( ) D、print()26. 以下叙述中正确的是( )。A、Python 3.x与Python 2.x兼容 B、Python语句只能以程序方式执行 C、Python是解释型语言 D、Python语言出现得晚,具有其他高级语言的一切优点27. 在Python语言中,数据的输入是通过( )来实现的。A、input( )函数 B、print( )函数 C、output( )函数 D、abs( )函数28. input( )函数的返回结果是( )。A、数值型 B、集合 C、列表 D、字符串29. 下列标识符中合法的是( )A、3df B、f3e C、3-Q D、%er30. 下列选项都是属于高级语言的是( )A、汇编语言、机器语言 B、汇编语言、Basic语言 C、Basic语 言、Python语言 D、机器语言、Python语言二、简答题
-
31. 编写一个程序,从键盘上输入3个数,计算这三个数的和,并输出结果。32. 高级语言的编译过程和解释过程各有什么优势和不足。33. 利用python程序设计语言,编写一个输出1-10以内的偶数(包含10)的代码。34. 列举Python程序设计语言中,IF语句的三种常见格式。
三、操作题
-
35. 利用身份证号码可以推算出年龄,性别以及相应的生肖。其中18位身份证号码中的7-10位表示出生年份,年龄为当年年份减去出生年份的值。而生肖为出生年份整除12所得余数与下表所对应的值取得。
鼠
牛
虎
兔
龙
蛇
马
羊
猴
鸡
狗
猪
4
5
6
7
8
9
10
11
0
1
2
3
(1)、实现上述功能的部分程序代码如下,请在划线处填入合适的代码。ID=input("请输入18位身份证号: ")
sx=[’鼠’,’牛’,’虎’,’兔’,’龙’,’蛇’,’马’,’羊’,’猴’,’鸡”,’狗’,’猪’]
#计算年龄:
year=int(ID[6:10]) # 取出身份证中的出生年份
age= # 计算该身份证主人当年年龄(取2021)
#判断性别:
F_ sex-int( ) # 取出身份证中用于判断性别的第 17 位数字字符
If # 判断性别的的数字 奇数 为 男性 , 偶数 为 女性
sex="男"
else:
sex="女"
#判断生肖:
F_ sx=()%12
anl=sx[F_ sx]
print("年龄是: ",age,"性别是: ",sex,"生肖是: ", an1)
(2)、在上述程序代码中,变量year的数据类型为A、整型 B、实型 C、字符串型 D、布尔型(3)、以下代码与程序加框处代码功能相同的有A、int[ID(16)] B、int(ID[:-1]) C、int(ID[-2:-3:-1]) D、int(ID[-2:-1]) E、int(ID[16]) F、int(ID[17:18])36. 小明有 n 个桃子,吃完后每三个桃核可以换一个桃子,计算小明总共能吃到几个桃子。(1)、若小明总共有7个桃子,则他最后可以吃到个桃子。(2)、部分伪代码如下所示,下列加框处有误,请修改伪代码中的错误。输入桃子数量n
count←n
while
count = count + n // 3
输出("小明总共能吃到:", count, "个桃子")
37. 小智在分析应用功能组成后,根据功能需求编写了如下网络应用Python代码:from flask import Flask,render_template,request
app =
@app.route("/")
def index():
#显示“主页”页面,代码略
@app.route("/introduce")
def introduce():
#显示“介绍”页面,代码略
@app.route("/exercise",methods=["GET","POST"])
def exercise():
#显示“练习”页面,代码略
@app.route("/top")
def toplist():
#显示“排行榜”页面,代码略
if __name__ == "__main__":
app.
(1)、请在划线处补充代码。(2)、请用实线将下列访问的“在线加法练习系统”功能的URL与相应的路由及视图函数连接起来。(答案填写格式如:A-d 、B-a)A.http://127.0.0.1:5000/top
toplist()
a.@app.route("/top")
B.http://127.0.0.1:5000/
exercise()
b.@app.route("/exercise",methods=["GET","POST"])
C.http://127.0.0.1:5000/exercise
introduce()
c.@app.route("/introduce")
D.http://127.0.0.1:5000/instance
index()
d.@app.route("/")
、 、 、
(3)、在Flask Web应用框架中,可以通过网页模板来显示内存变量的值或对象等,以下在模板文件index.html中用于显示内存变量xxjs值的正确代码为A、{{xxjs}} B、{{#xxjs#}} C、{{%xxjs%}} D、{%xxjs%}38. 某加密算法的加密部分Python程序段如下:def encrypt(msg,key):
result = ""
size = len(msg)
for i in range(0,size):
result = result + msg[(i - key) % size]
return result
msg = input("请输入明文:")
key = int(input("请输入密钥:"))
re =
print(re)
(1)、请在划线处补充代码。(2)、如果输入的msg为“cdef”,key为3,那么输出的结果为。(3)、这种加密机制称为(选填字母:A .置换密码;B .换位密码;C .简单异或密码)。39. 替代密码是明文中的每个字符根据密钥替代成密文中的另一个字符,替代后的各个字母保持原来的位置。例:使用凯撒密码对明文“yza”进行加密的过程:“yza”→121 122 97→…→ 98 99 100 →“bcd”
要求:如果明文是大写字母则需要转小写。如果明文是其它字符则不作任何处理。例如:明文为“ABc,z”密钥为3,则结果密文为“def,c”
(1)、如果明文为“EAa:H”密钥为3,则结果密文为。(2)、程序实现如下,请在划线处补充代码。def change(code,key):
#change函数功能:实现要进行加密的字符code由大写字母转小写字母
#判断转换后的字符code是否为小写字母,若是则进行加密
m=ord(code)
return chr(m)
code=input(“请输入要加密的明文”)
key=int(input(“请输入密钥”))
code_new=“”
for i in code:
code_new+=change(i,key)
print(code_new)
四、判断题
-
40. python语言是一种面向对象的解释型计算机程序设计语言,发明于1989年。目前,python已经成为最受欢迎的程序设计语言之一。41. 需求分析之后、程序设计之前,需要对系统进行总体设计和详细设计。总体设计就是在需求分析的基础上对模型细化、分解任务,明确程序由哪些模块组成。42. 实时获得鼠标的状态并对鼠标单击做出正确的响应,只有不断地进行监听、更新游戏状态、重绘屏幕三个步骤的操作。43. 在Python语言环境下,For循环语句中的循环体在书写时需要缩进,且必须缩进四个空格。44. 列表的数据项不需要具有相同的类型,与字符串的索引一样,列表索引从0开始。
五、填空题
-
45. 阅读下列程序,写出运行结果
警察抓小偷,有四个嫌疑人甲乙丙丁,其中一人是小偷。甲说“不是我”,乙说“是丙”,丙说“是丁”,丁说“丙在冤枉人”。他们中只有一人说了假话,编程判断谁是小偷。(注:在Python运算中,True的值为1,False的值为0)
persons=[‘甲’,‘乙’,‘丙’, ‘丁’]
for thief in persons:
flag =(thief!=‘甲’)+(thief==‘丙’)+(thief ==‘丁’)+(thief!=‘丁’)
if flag == 3:
print(thief)
运行结果是:
46. 阅读以下程序,写出程序运行结果。def jc(n):
s=1
for i in range(2,n+1):
s=s*i
return s
total=jc(4) #调用jc函数
print(total)
程序运行后,其输出结果为
47. 程序分析题:阅读程序写结果s=0
for k in range(1,7,2):
s =s+k
print (s)
输出s的值是。
48. 程序分析题:分析完善程序以下是求解一元二次方程( a=0)的主要源程序,请你补全代码:
import math
a=int(input(" a="))
b=int(input("b="))
c=int(input("c="))
d= #一元二次方程根的判别式
if d>0:
x1=(-b+math.sqrt(d))/ (2*a)
x2=(-b-math.sqrt(d))/(2*a)
print("x1=",x1)
print("x2=",x2)
if :
print("x1=x2=",-b/(2*a))
if d<0:
print("无实数解!")
请补充完成上述程序:
49. 根据以下程序代码完成下列小题。程序描述: 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。
程序要求输入一个正整数(不为1),将经过处理得到1的过程输出来。代码如下:
x=int(input('输入一个正整数:'))
while ①
if ②
x=x/2
③
else:
④
③
if x==1:
⑤
(1)、①处的语句是 。A、x>1 B、x>2 C、x!=1: D、x!=0:(2)、②处的语句是 。A、x%3=0: B、x%2=0: C、x%3==0: D、x%2==0:(3)、③处的语句是 。A、print(‘x/2’) B、print(‘x’) C、print(x) D、print(x/2)(4)、④处的语句是 。A、x= x/2 B、x= x/2+1 C、x=x*3+1 D、x=3x+1(5)、⑤处的语句是 。A、pass B、exit C、continue D、Break50. 根据以下程序代码完成下列小题。程序描述: 计算正整数35到500之间的所有奇数的和。代码如下:
①
for i in ②
③
print(s)
(1)、①处的语句是A、s=0 B、s=1 C、i=0 D、i=1(2)、②处的语句是A、range(35,500) B、range(35,500,2) C、range(35,501) D、range(35,501,2)(3)、③处的语句是A、s=s+1 B、i=i+1 C、s=s+i D、i=s+i51. 程序运行后,从键盘输入781,结果是x=int(input("请输入一个正整数:"))
if x%2==0:
print(x,"是偶数.")
else:
print(x,"是奇数.")