单选题:
1、不能创建字典的是______。
A、a=dict(XH=9001,XM="ZSan")
B、a=dict([("XH",9001),("XM","ZSan")])
C、a={XH:9001,XM:"ZSan"}
D、a={}.fromkeys(["XH","XM"],0)
ANS:C
2、不能表示逻辑真的是______。
A、非空字符串
B、非零数值
C、None
D、非空序列
ANS:C
试题评析:Python 中以下值始终为 False:None、False、零值(如 0、0.0、0j)、空序列或集合(如 ""、[ ]、( )、{ }、set( ))
3、以下选项不属于Python的pip工具的功能是______。
A、打包python源代码
B、安装第三方python库
C、卸载已经安装了的第三方库
D、对第三方库进行基本的维护
ANS:A
4、以下不是Python语言所使用特殊含义符号的是______。
A、&=
B、**
C、^
D、?
ANS:D
5、关于字典的描述,错误的是______。
A、字典的元素以键为索引进行访问
B、字典的一个键可以对应多个值
C、字典长度是可变的
D、字典是键值对的结合,键值对之间没有顺序
ANS:B
试题评析:选项B是错误的。在Python字典中,每个键都是唯一的,并且只能映射到一个值。如果想让一个键对应多个值,需要将这个值设置为列表、元组或其他容器类型。例如:{"key": [value1, value2]}。
6、以下关于随机运算函数库的描述,正确的是______。
A、random.random(a,b)产生一个[a,b)之间的随机小数
B、使用random.random( )生成随机数前,必须先用random.seed( )函数初始化随机数种子
C、Python的random库通过pip进行安装库
D、random.randint(a,b)产生一个[a,b]之间的随机整数
ANS:D
7、以下代码中,能够计算字典d中键值的和的是_______。
A、add(d.value( ))
B、sum(d.value( ))
C、add(d.values( ))
D、sum(d.values( ))
ANS:D
8、为不可变集合内置函数的是______。
A、clear
B、pop
C、add
D、difference
ANS:D
9、以下程序的输出结果是______。
def hub(ss, x = 2.0,y = 4.0):
ss += x * y
ss = 10
print(ss, hub(ss, 3))
A、22None
B、10None
C、10.022.0
D、22.0None
ANS:B
10、以下的描述中,不属于Python语言控制结构的是______。
A、循环结构
B、程序异常
C、跳转结构
D、顺序结构
ANS:C
11、以下关于字符串类型的操作的描述,正确的是______。
A、想获取字符串str的长度,用字符串处理函数len(str)
B、设x='aaa',则执行x/3的结果是'a'
C、想把一个字符串str所有的字符都大写,用upper(str)
D、str.isnumeric( )方法把字符串str中数字字符变成数字
ANS:A
12、字符串tstr='television',显示结果为vi的选项是______。
A、print(tstr[-6:6])
B、print(tstr[5:7])
C、print(tstr[4:7])
D、print(tstr[4:-2])
ANS:A
13、以下关于Python语言的描述中,错误的是______。
A、函数中return语句只能放在函数定义的最后面
B、定义函数需要使用保留字def
C、使用函数最主要的作用之一是复用代码
D、Python函数可以定义在分支或循环语句的内部
ANS:A
14、以下关于Python语言的描述中,正确的是______。
A、条件11<=22<33是合法的,输出True
B、条件11<=22<33是合法的,输出False
C、条件11<=22<33是不合法的
D、条件11<=22<33是不合法的,抛出异常
ANS:A
15、不是Python内置函数的选项是______。
A、divmod( )
B、type( )
C、ord( )
D、compare( )
ANS:D
16、以下关于文件的描述,错误的是______。
A、当文件以二进制方式打开的时候,是按字节流方式读写
B、open( )打开文件后,返回一个文件对象,用于后续的文件读写操作
C、open( )打开一个文件,同时把文件内容载入内存
D、write(x)函数要求x必须是字符串类型,不能是int类型
ANS:C
试题评析:open( )只是打开文件并创建一个文件对象,并不会自动将整个文件内容加载到内存中。
文件内容只有在调用read( )或readlines( )等方法时才会被读入内存。所以C是错误的说法。
17、若s={3,6,74,3,87},则sum(s)的值是______。
A、164
B、170
C、173
D、80
ANS:B
18、以下对Python语言定位的表述正确的是______。
A、数据分析专用语言
B、有大量官方API的编程语言
C、解释型脚本语言
D、编译型语言
ANS:C
试题评析:C正确。Python 是一种解释型语言,代码在运行时由解释器逐行执行,而不是像 C/C++ 那样先编译成机器码。同时它也常被归类为脚本语言(scripting language),适合快速开发、脚本编写等场景。
19、以下关于Python字典变量的定义中,错误的是______。
A、d = {1:[1,2], 3:[3,4]}
B、d = {[1,2]:1, [3,4]:3}
C、d = {(1,2):1, (3,4):3}
D、d = {'张三':1, '李四':2}
ANS:B
20、如果Python程序执行时产生了"unexpected indent"错误,其原因可能是______。
A、代码缩进不正确
B、代码变量未赋初值
C、代码使用了错误的保留字
D、代码进入了死循环状态
ANS:A
是非题:
21、以下代码的作用是:输入整数a,输出[1,a]上全部整数的和。
s=0
a=int(input( ))
b=a
for i in range(1,a+1): s+=b;b+=i
print(s)
22、以下代码的作用是:输入一个字符串,输出出现次数最多的全部字符(空格除外)。
s=input( )
s=s.replace(" ","")
a=max(s,key=s.count)
n=s.count(a)
b=[ ]
for x in s:
if s.count(x)==n and x not in b:b.append(x)
print("".join(b))
23、函数fuc定义如下,则fuc(7,26)的值是23。
def fuc(a,b):
a,b=b,a
return (a-b) | b
24、执行以下程序后,a的值是3。
x,a=89,3
if x<60:a=0
if x<75:a=1
if x<90:a=2
25、类Hello定义如下,则利用"h=Hello( )"可创建该类的实例。
class Hello( ):
def __init__(self,name):
self.name=name
试题评析:__init__ 方法需要一个参数name,所以在实例化的时候必须传入对应的实参。
26、执行以下代码后b的值是:610
a,b=0,1
while b<200:
print(b,end=' ')
a,b=b,a+b
27、执行以下代码后,如果输入的是"abc 34 5p ",则len(s)的值是3。
s=input( )
s=s.split( )
28、以下程序运行时,如果输入的第一个字符是"A",则输出一定是"02"。
s=""
try:
number = int(input( ))
except Exception as e:s+="0"
else:s+="1"
finally:s+="2"
print(s)
29、运行以下代码时,输入"36.52"时n的值是36。
s=input( )
try:
n=int(s)
assert n>0
except:n=-1
30、执行以下代码后,min(a)+max(a)+sum(a)的值是214。
a=int("1010",2),ord("a"),len("abcde")
程序改错题:
31、在PY107.py中定义一个用户类(User),用户名(username)和密码(password)是这个类的属性。
(1)实例化两个用户,输出不同的用户名和密码。
(2)设计一个方法reset_password, 修改密码并输出新密码。
代码中有错误,请改正后运行。
class User:
#**************found**************#
def init(self, username, password): #构造函数的正确写法,__init__
self.username = username
self.password = password
print(f"用户名:{self.username},密码:{self.password}")
def reset_password(self, password_new):
#**************found**************#
self.password = password #更新密码,self.password = password_new
print(f"用户名:{self.username},新密码为:{password_new}")
A = User("liuao", 12345)
B = User("hwh", 12346)
pw=int(input("请输入新密码:"))
#**************found**************#
reset_password(A) #通过实例A调用方法,A.reset_password(pw)
程序填空题:
32、在考生文件夹(D:\Exam\Python程序设计\202*****\32)下存在一个Python源文件PY246.py,请编写代码替换横线,不修改其他代码,实现下面功能:让用户输入数,如果用户输入的不是数字,则屏幕上输出相应提示后结束程序的运行。如果用户输入的是数字,则为其加密,并输出加密结果。
加密算法如是:设原数为a;在其数值上加上100,得到b;在末尾添上8,得到c;将b去掉末两位后得到d;c乘以d后得到e,再将e逆序输出。
示例如下(其中数据仅用于示意):
输入:2021
输出:加密后的为:875544
try:
sno=input('输入需要加密的数: ')
sno_num_1=int(sno) #sno_num_1对应题面a
#**************found**************#
___________(1)___________: #捕获输入非数字时抛出的异常
print("请输入数字,不要输入其他非数字字符!")
else:
#**************found**************#
sno_num_2=___________(2)___________ #sno_num_2对应题面b(数值型)(sno_num_1+100)
sno_str=str(sno_num_2)
sno_str_1=sno_str + "8" #sno_str_1对应题面c(字符型)
#**************found**************#
sno_str_2=___________(3)___________ #sno_str_2对应题面d(字符型)(sno_str[:-2])
d=int(sno_str_2)
#**************found**************#
sno_num_3=___________(4)___________ #sno_num_3对应题面c(数值型)(int(sno_str_1))
sno_num_4=sno_num_3*d #sno_num_4对应题面e(数值型)
sno_str_3=str(sno_num_4) #sno_str_3对应题面e(字符型)
#**************found**************#
sno_str_4=___________(5)___________ #e逆序(sno_str_3[::-1])
print(f"加密后的为:{sno_str_4}")
编程题:
33、程序PY042.py中函数fun(x)的功能是:计算s=1+3+5+……+2*k-1 (k为自然数),求满足s>x的最小s值。请在指定位置编写程序代码,使程序能输出正确结果。程序运行结果如下:
输入x的值:10
输出:满足大于10的最小s值: 16
def fun(x):
#请在注释内输入程序代码
k, s = 1, 0
while s<x:
s += 2 * k - 1
k += 1
return s
#
# 主程序
x = int(input("输入x的值:"))
print(f"满足大于{x}的最小s值: {fun(x)}")

