3.2Python语言程序设计
一、选择题
1.下列选项中,不是Python赋值语句的是( )
A.a,b = 1,3 B.a = a + 1 C.a = b = 1 D.a + 1 = 1
2.Python中变量的命名要满足一定的规范,以下可以用作变量名的是( )
A.3dmax B.import C.Student_5 D.abc#123
3.以下 Python程序代码段的运行结果是( )
a = 3b = a * 4#b = b / 6print(b)
A.3 B.0.5 C.12 D.2
4.以下编程语言中执行效率最高的是( )
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)+1
7.小张收集了近阶段要学习的英文单词,存储为“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.5
8.中国大陆居民身份证由18位数字组成,其中第7至14位数字代表居民的出生年月日,身份证号码现保存在字符串变量s中,小张尝试对身份证号码中的出生年月日进行提取,以下表达式不正确的是( )
A.s[7:15] B.s[6:14] C.s[-12:-4] D.s[6:-4]
9.以下Python程序段执行后,输出结果为( )。
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.ch
12.在用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, 8
17.能去除字符串中空格的方法是()
A.lstrip( ) B.upper() C.startswith( ) D.ljust( )
18.已知n是一个两位的正整数,则下列表达式能表示n的十位数字的是( )
A.n % 10 B.n /10 C.n/100 D.n//10
19.如下程序段
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、1
20.一名高中生在以下程序输入自己的年龄会得到的结果是( )
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.9
22.下列选项中,属于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.9
24.计算机能直接识别和执行的的语言是( )
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.%er
30.下列选项都是属于高级语言的是( )
A.汇编语言、机器语言
B.汇编语言、Basic语言
C.Basic语言、Python语言
D.机器语言、Python语言
二、简答题
31.请描述列表和元组之间的区别,以及分别在他们之间转型?
32.编写一个程序,从键盘上输入3个数,计算这三个数的和,并输出结果。
33.高级语言的编译过程和解释过程各有什么优势和不足。
34.利用python程序设计语言,编写一个输出1-10以内的偶数(包含10)的代码。
35.列举Python程序设计语言中,IF 语句的三种常见格式。
三、操作题
36.利用身份证号码可以推算出年龄,性别以及相应的生肖。其中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])
37.小明有 n 个桃子,吃完后每三个桃核可以换一个桃子,计算小明总共能吃到几个桃子。
(1)若小明总共有7个桃子,则他最后可以吃到______个桃子。
(2)部分伪代码如下所示,下列加框处有误,请修改伪代码中的错误__、__。
输入桃子数量n
count←n
while ①
count = count + n // 3
②
输出("小明总共能吃到:", count, "个桃子")
38.小智在分析应用功能组成后,根据功能需求编写了如下网络应用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 a.@app.route("/top")
toplist()
B.http://127.0.0.1:5000/ b.@app.route("/exercise",methods=["GET","POST"])
exercise()
C.http://127.0.0.1:5000/exercise c.@app.route("/introduce")
introduce()
D.http://127.0.0.1:5000/instance d.@app.route("/")
index()
____________、 ____________、 ____________ 、____________、
(3)在Flask Web应用框架中,可以通过网页模板来显示内存变量的值或对象等,以下在模板文件index.html中用于显示内存变量xxjs值的正确代码为(______)
A.`xxjs`
B.{{#xxjs#}}
C.`supe_xxjssupe_`
D.{%xxjs%}
39.某加密算法的加密部分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.简单异或密码)。
40.替代密码是明文中的每个字符根据密钥替代成密文中的另一个字符,替代后的各个字母保持原来的位置。
例:使用凯撒密码对明文”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)
四、判断题
41.python语言是一种面向对象的解释型计算机程序设计语言,发明于1989年。目前,python已经成为最受欢迎的程序设计语言之一。 (_____)
42.需求分析之后、程序设计之前,需要对系统进行总体设计和详细设计。总体设计就是在需求分析的基础上对模型细化、分解任务,明确程序由哪些模块组成。 (____)
43.实时获得鼠标的状态并对鼠标单击做出正确的响应,只有不断地进行监听、更新游戏状态、重绘屏幕三个步骤的操作。 (____)
44.在 Python语言环境下,For循环语句中的循环体在书写时需要缩进,且必须缩进四个空格。 (_____)
45.列表的数据项不需要具有相同的类型,与字符串的索引一样,列表索引从0开始。(______)
五、填空题
46.阅读下列程序,写出运行结果
警察抓小偷,有四个嫌疑人甲乙丙丁,其中一人是小偷。甲说“不是我”,乙说“是丙”,丙说“是丁”,丁说“丙在冤枉人”。他们中只有一人说了假话,编程判断谁是小偷。(注:在Python运算中,True的值为1,False的值为0)
persons=[’甲’,’乙’,’丙’,’丁’]for thief in persons:flag =(thief!=’甲’)+(thief==’丙’)+(thief ==’丁’)+(thief!=’丁’)if flag == 3:print(thief)
运行结果是:____________
47.阅读以下程序,写出程序运行结果。
def jc(n):
s=1
for i in range(2,n+1):
s=s*i
return s
total=jc(4) #调用jc函数
print(total)
程序运行后,其输出结果为______
48.程序分析题:阅读程序写结果
s=0
for k in range(1,7,2):
s =s+k
print (s)
输出s的值是______________。
49.程序分析题:分析完善程序
以下是求解一元二次方程( 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("无实数解!")
请补充完成上述程序: ①____________ ②______
50.根据以下程序代码完成下列小题。
程序描述: 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。
程序要求输入一个正整数(不为1),将经过处理得到1的过程输出来。代码如下:
x=int(input('输入一个正整数:'))
while ①
if ②
x=x/2
③
el se:
④
③
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.break
51.根据以下程序代码完成下列小题。
程序描述: 计算正整数 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+i
52.程序运行后,从键盘输入781,结果是_______________________
x=int(input("请输入一个正整数:"))
if x%2==0:
print(x,"是偶数.")
else:
print(x,"是奇数.")
53.表达式5>=5 and 0!=0的值是:____
54.用Python语言实现加密算法时,明文和密文都被抽象为_________类型的数据。
55.Pygame自带了一个监听类循环,不断检查用户的操作,这个循环在程序运行过程期间持续工作。仔细阅读理解如下代码填写括号内容
while True:
for event in pygame.event.get(): # (_____)
if event.type==pygame.QUIT: # (_____)
sys.exit() #退出程序
if event.type==pygame.MOUSEBUTTONDOWN: # (_____)
参考答案
1.D
【详解】本题考查的是Python赋值语句。赋值语句的一般格式是:变量名=表达式 其中“=”为赋值号。a+1不是变量,故选项D不是赋值语句。本题应选D。
2.C
【详解】本题考查的是变量名相关知识。Python程序设计语言规定标识符由字母(A~Z,a~z)、数字(0~9)、下划线组成,并且其第一个字符必须是字母或下划线,而不能是数字。关键字也不能作为变量名。import是导入语句,不能用作变量名,故本题应选C。
3.C
【详解】本题考查的是Python顺序结构及注释符。“#”是单行注释符,表示该行语句不执行。故b=3*4=12。选项C正确。
4.B
【详解】本题考查的是计算机语言。计算机语言可以分机器语言、汇编语言、高级语言。机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合,执行效率最高。Python、C++属于高级语言。故本题应选B。
5.A
【详解】本题考查的是Python语句。选项A是交换变量a,b的值,书写正确;Python区分大小写,输出语句是用print,故选项B错误;选项C小括号没有成对,故选项C错误;Python运算都是用小括号,故选项D错误。
6.A
【详解】本题考查的是range函数。range(len(chepai)-1,-1,-1)函数的第三个参数值是-1,表示每次取值按降序,步长为1。若车牌是“12345”,先取“5”,字符串索引值为4,最后取“1”,字符串索引值为0, range()函数是左闭右开区间,故选项A正确。
7.B
【详解】本题考查的是程序的识读。程序中n中记录的值为,各单词中以小写字母c开头的单词的个数,共2个,compter和capsule。故选项B正确。
8.A
【详解】本题主要考查Python字符数据类型。字符串的索引是从0开始,s[6:14]提取字符串第7至14位数字,s[7:15]提取字符串第8至15位数字,s[-12:-4]从右边数第12位开始到从右边数第4位结束(即第7至14位数字),s[6:-4]从左边数第7位开始到从右边数第4位结束(即第7至14位数字),故本题选A选项。
9.B
【详解】本题考查的是Python选择语句。print是输出语句,%是求余,!=是不等于,29%3=2,条件不成立,则执行输出29不能被3整除。故本题应选B。
10.B
【详解】本题主要考查Python程序调试。①此处是通过for循环随机从列表DNA中生成20个字符,使用choice方法,choice方法可以接收一个列表,返回列表中一个元素,故第一空填s=s+random.choice(DNA),match是一个字典,可以通过匹配键来返回键值,故第二空填t= t + match[s[i]],故本题选B选项。
11.A
【详解】本题考查的是Python变量名的命名规则。Python中变量命名规则:由字母、数字、下划线组成,不能以数字开头,系统保留字不能作为变量名。故本题应选A。
12.A
【详解】本题考查的是Python的pandas库相关知识。Pandas DataFrame.sum()函数用于返回用户所请求轴的值之和。如果输入值是索引轴,,则它将在列中添加所有值, 并且对所有列都相同。它返回一个序列,其中包含每一列中所有值的总和。故本题应选A。
13.B
【详解】本题考查的是pandas库。 pandas库中的DataFrame是一个二维的、大小可变的、成分混合的、具有标签化坐标轴(行和列)的表数据结构。DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。故本题应选B。
14.A
【详解】本题考查的是Python注释。Python 使用井号#作为单行注释的符号,从井号#开始,直到这行结束为止的所有内容都是注释。Python 使用三个连续的单引号'''或者三个连续的双引号"""注释多行内容。故本题应选A。
15.A
【详解】本题主要考查递归算法及Python程序实现。此递归终止结束条件是当n=1时,执行 print(s,'-->',t) ;print(s,'-->',t)表示A杆上当前最后木盘移动到C杆上;hanno(n-1,s,t,m)表示A杆有n个盘子现将前n-1个盘子从A杆移动到B杆上;hanno(n-1,m,s,t)表示将B杆上的n-1个盘子移动到C杆上,故本题选A选项。
16.BD
【详解】本题主要考查Python程序执行。第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i],若i是偶数且生成的p[i]是奇数,则p[i]减去前一个值,分析选项B、D第三个元素14,此时i=2,如果p[2]原来生成的是奇数,则需要执行 p[ i ] -= p[ i - 1],否则不变,即p[2]不会大于10,故执行该程序段后,列表p中的元素值不可能是1, 2, 14, -9, -5, 8或6,4, 14, -7, 3, 8,故本题选BD选项。
17.A
【详解】本题考查的是除字符串中空格的方法。lstrip() 方法用于截掉字符串左边的空格或指定字符。upper() 方法将字符串中的小写字母转为大写字母。startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。故选项A正确。
18.D
【详解】本题考查的是算术运算。%是求余运算,/是除运算,//是整除运算。只有n//10,才能保留十位数上的数字,故选项D正确。
19.B
【详解】本题考查的是Python循环语句。初始值a=2,b=1。
a>=b成立,执行 b=a * b=2, a=2 * a=4;
a>=b成立,执行 b=a * b=4*2=8, a=2 * a=8;
a>=b成立,执行 b=a * b=8*8=64, a=2 * a=16;
a>=b不成立,跳出循环,故最后a、b的值分别为16、64。选项B正确。
20.C
【详解】本题主要考查VB程序的执行。如果int(s)小于10,输出s是个小于10的数字,否则输出s是大于10的数字,一名高中生的年龄大约在15到18岁之间,所以输出s是大于10的数字,故本题选C选项。
21.D
【详解】本题考查的是Python循环语句。range(1,6,2)生成的是1,3,5的整数,故s=0+1+3+5=9。选项D正确。
22.B
【详解】本题考查的是Python函数。print()是Python输出函数;input()是Python输入函数。故选项B正确。
23.A
【详解】本题考查的是Python函数。input( )是输入函数,split()通过指定分隔符对字符串进行切片,int()是转换为整型,print()是输出函数。如果输入的是4 3 6 9,程序运行后a值为4,b值为3,c值为6,d值为9,print(c)故输出的值为c的值:6。选项A正确。
24.B
【详解】本题考查的是计算机语言。计算机语言有:机器语言、汇编语言、高级语言。机器语言能被计算机直接识别和执行。汇编语言、高级语言需要翻译成机器语言才能执行。故选项B正确。
25.C
【详解】本题考查的是Python函数。input( )是输入函数,print()是输出函数。故选项C正确。
26.C
【详解】本题考查Python相关知识点
Python 3.x与Python 2.x版本不同,不兼容。故选项A说法错误
Python语句也可以使用脚本直接运行。故选项B说法错误
Python是解释型语言。故本题选C选项
Python不具有其他高级语言的一切优点。故选项D说法错误
27.A
【详解】本题考查的是Python函数。input( )是输入函数,print( )是输出函数,abs( )是绝对值函数。故选项A正确。
28.D
【详解】本题考查的是Python函数。input( )函数的返回结果是字符串,如果需要可以转换为相应的类型再处理。选项D正确。
29.B
【详解】本题考查的是标识符。标识符由字母、数字或下划线等字符组成,但不能与数字开头,Python的保留字不能作为标识符。选项A与数字开头,不合法;选项B,合法;选项C中包含"-"字符,不合法;选项D包含“%”字符,不合法。故应选B。
30.C
【详解】本题考查的是计算机语言。计算机语言有:机器语言、汇编语言、高级语言。高级语言有:Visual Basic、Pascal、C、C++、Java、Python等。故选项C正确。
31.List 和tuple 区别
不同点:
1 定义的方式
list[] tuple()
2 是否可变
list可变 tuple() 不可变
3 list中有 append(),insert() 函数,tuple中没有
相同点:
都是有序的集合(容器)
List转为tuple:
temp_list = [1,2,3,4,5]
将temp_list进行强制转换:tuple(temp_list)
tuple 转为list:
temp_tuple = (1,2,3)
方法类似,也是进行强制转换即可:list(temp_tuple)
【详解】本题主要考查Python元组和类别的区别。List 和tuple 区别如下:
不同点:
1 定义的方式
list[] tuple()
2 是否可变
list可变 tuple() 不可变
3 list中有 append(),insert() 函数,tuple中没有
相同点:
都是有序的集合(容器)
List转为tuple:
temp_list = [1,2,3,4,5]
将temp_list进行强制转换:tuple(temp_list)
tuple 转为list:
temp_tuple = (1,2,3)
方法类似,也是进行强制转换即可:list(temp_tuple)
32.a = input ( )
b= input( )
c = input( )
d=int(a)+int(b)+int(c)
print (d)
【详解】本题考查的是输入函数。input ( )是输入函数,int( )是取整函数,input ( )接收的是字符类型数据,故要使用取整函数转换为数值类型。程序如下:
a = input ( )
b= input( )
c = input( )
d=int(a)+int(b)+int(c)
print (d)
33.(1)编译型语言优点是程序执行速度快,程序执行效率高,同等条件下对系统要求较低。不足之处是跨平台性差些。
(2)解释型语言优点是不同系统平台间的兼容性高。不足之处是程序执行效率比较低。
【详解】本题考查的是高级语言的编译与解释的区别。(1)编译型语言优点是程序执行速度快,程序执行效率高,同等条件下对系统要求较低。不足之处是跨平台性差些。(2)解释型语言优点是不同系统平台间的兼容性高。不足之处是程序执行效率比较低。
34.代码1:
for value in range(2,11,2):
print(value)
代码2:
i=2
while i<11:
print(i)
i=i+2
【详解】本题考查的是Python循环语句。
方法一:
for value in range(2,11,2):
print(value)
方法二:
i=2
while i<11:
print(i)
i=i+2
35.单分支语句格式:
If(条件表达式):
语句A
双分支if语句格式:
If(条件表达式):
语句A
else:
语句B
if...elif...else语句格式:
If(条件表达式):
语句1
elif:
语句2
...
elif:
语句N
else:
语句N+1
【详解】本题考查的是Python选择语句。
单分支语句格式:
If(条件表达式):
语句A
双分支if语句格式:
If(条件表达式):
语句A
else:
语句B
if...elif...else语句格式:
If(条件表达式):
语句1
elif:
语句2
...
elif:
语句N
else:
语句N+1
36. 2021-year F_sex%2!=0 或 F_sex%2!==1 year%12+8 A CDE
【详解】本题主要考查Python程序的综合应用。① 变量year保存出生年份,计算该身份证主人当年年龄(取2021)用变量age保存,故填2021-year。②奇数 为 男性 , 偶数 为 女性,故此处填F_sex%2!=0 或 F_sex%2!==1。③ 生肖为出生年份整除12所得余数与表中所对应的值取得,故此处填year%12+8。④year=int(ID[6:10]),可知其类型是整型,选A选项。⑤切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。加框处取出身份证中用于判断性别的第17位数字字符,故与程序加框处代码功能相同的有int(ID[-2:-3:-1])、int(ID[-2:-1])、int(ID[16]),故本题选CDE选项。
37.10 n>=3 n=n % 3 +n//3
【详解】本题主要考查Python程序的执行与调试。①若小明总共有7个桃子,先吃6个剩一个,6个桃核换2桃,此时有3个吃完可以再换一个,一共吃了6+3+1=10个。②吃完后每三个桃核可以换一个桃子,故此处循环条件应改为n>=3。③此处是更新n的值,即此时n的值等于吃完剩余的桃子以及桃核换到的桃子,故此处应改为n=n % 3 +n//3。
38.Flask(__name__) run() A—a B—d C—b D—c A
【详解】本题主要考查Python网络编程综合应用。①程序实例是Flask的对象,一般情况下用如下方法实例化:Flask(__name__),Flask类只有一个必须指定的参数,即程序主模块或者包的名字,__name__是系统变量,该变量指的是本py文件的文件名,故此处填Flask(__name__)。②程序实例用run方法启动flask集成的开发web服务器,__name__ == '__main__'是python常用的方法,表示只有直接启动本脚本时候,才用app.run方法,如果是其他脚本调用本脚本,程序假定父级脚本会启用不同的服务器,因此不用执行app.run(),故此处填run()。由URL规则与视图函数绑定关系,可知连线分别是:③A—a ④B—d ⑤C—b ⑥D—c ⑦在模板文件index.html中用于显示内存变量xxjs值的正确代码为`xxjs`。
39.encrypt(msg,key) defc A
【详解】本题主要考查Python程序的综合应用。①encrypt(msg,key)函数根据输入的明文和密钥,返回加密后的结果,此处将加密后的结果返回给变量re,故此处填encrypt(msg,key)。②将ms="cdef",key=3代入程序,输出结果是defc。③置换密码是根据一定的规则重新排列明文,以便打破明文的结构特性。置换密码的特点是保持明文的 所有字符不变,只是利用置换打乱了明文字符的位置和次序。也就是说,改变了明文的结构,不改变明文的内容,故选A选项。
40.hdd:k code=code.lower() if 97<=m<=122: m=97+(m-97+key)%26
【详解】本题主要考查Python程序的综合应用。①如果明文为“EAa:H”密钥为3。按照规则,大写字母转换为小写字母,然后再将小写字母按照密钥3替换为另一个字符,故EAaH先变为eaah,之后eaah移动3位变为hddk,冒号不变,故结果密文为hdd:k。② lower()方法转换字符串中所有大写字符为小写,此处将code字符转换为小写,故填code=code.lower()。③ord函数实现将字母转换为对应的ASCII码值,此处判断m的ASCII码值是不是在小写字母间,小写字母的ASCII码值范围是97~122,故此处填if 97<=m<=122:。④此处将m按照密钥key进行循环移位,一共26个字母,故需要对26取余,故此处填m=97+(m-97+key)%26。
41.对
【详解】本题考查的是Python语言。python语言是一种面向对象的解释型计算机程序设计语言,发明于1989年。目前,python已经成为最受欢迎的程序设计语言之一。 题干说法正确。
42.对
【详解】本题考查的是程序设计。需求分析之后、程序设计之前,需要对系统进行总体设计和详细设计。总体设计就是在需求分析的基础上对模型细化、分解任务,明确程序由哪些模块组成。题干说法正确。
43.对
【详解】本题考查的是鼠标响应。实时获得鼠标的状态并对鼠标单击做出正确的响应,也就不断地进行监听、更新游戏状态、重绘屏幕三个步骤的操作。题干中的说法是正确的。
44.错误
【详解】本题考查的是Python中的for语句格式。在 Python语言环境下,For循环语句中的循环体在书写时需要缩进,但不是必须缩进四个空格。故题干中的说法错误。
45.正确
【详解】本题主要考查列表数据类型。列表的数据项不需要具有相同的类型,与字符串的索引一样,列表索引从0开始,表述正确。
46.丙
【详解】本题主要考查 Python程序执行。分析程序可知,只有当thief=’丙‘时,满足flag=3,即4个人中只有一人说了假话,故运行结果是丙。
47.24
【详解】本题考查的是Python函数及循环语句。由s=s*i及 range(2,n+1)可知返回值是s=1*2*3*……n,total=jc(4)=1*2*3*4=24。
48.9
【详解】Range函数用于产生循环迭代列表,括号里的可以带三个参数,第一个是列表起始值,第二个是列表终止值,第三个是步长。例如本题for循环中range(1,7,2)将产生1-6之间,步长为2的数字序列,即为[1,3,5],因此循环执行3次,累加k,即s=1+3+5=9。
49.b*b-4*a*c 或b**2-4*a*c d==0
【详解】本题考查的是程序的实现。①填写的是一元二次方程根的判别式,故应为b*b-4*a*c,注意填空时,表达式的格式要正确。②根据后面的“x1=x2=”提示,该if语句是判断的是该一元二次方程有两个相等的根的情况,即判别式等于0,此处要注意其写法:d==0。
50.C D C C D
【详解】本题主要考查Python条件分支结构。对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。故①处的循环条件是x不等于1,选C选项。②处的语句是判断x是不是偶数,即x%2==0:。③处的语句是输出x,即print(x),选C选项。④处的语句是,如果x是奇数,则执行x=x*3+1,选C选项。⑤处如果x等于1,则退出循环,语句为break,选D选项。
51.A BD C
【详解】本题主要考查Python程序的调试。根据题干,计算正整数35到500之间的所有奇数的和,则①处是初始化s为0,故填入s=0。②变量i的范围是从35开始,每次递增2,35+2*232=409<500<35+2*233=501,故此处应填入range(35,501,2)或range(35,500,2)。③s是统计奇数的和,故填入s=s+i。
52.781是奇数
【详解】本题考查的是Python选择结构。从键盘输入781,即x=781, x%2=1,故执行 print(x,"是奇数."),输出:781是奇数。
53.False
【详解】本题考查的是Python表达式。!= 比较两个对象是否不相等。x and y如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。5>=5为真,故返回0!=0的值,即为False。
54.字符串
【详解】本题考查的是Python加密算法。用Python语言实现加密算法时,明文和密文都被抽象为字符串类型的数据。
55.①监听并获取事件列表 ②Quit事件 ③侦听到鼠标点击事件
【详解】本题考查的是Python中的Pygame模块。pygame.event.get()是监获取事件列表,pygame.QUIT是Quit事件,pygame.MOUSEBUTTONDOWN是侦听到鼠标点击事件。