2024年python期末信息技术试卷(含答案)

资源下载
  1. 二一教育资源

2024年python期末信息技术试卷(含答案)

资源简介

2024年python期末信息技术试卷
一、选择题:本大题共28小题,共28分。
1.Python相比其他程序设计语言不具有的特点是(  )
A. 交互式 B. 解释型 C. 面向对象 D. 服务端语言
2.Python源程序执行的方式是(  )
A. 编译执行 B. 解释执行 C. 直接执行 D. 边编译边执行
3.表达式2*3**2//8%7的计算结果为(  )
A. 3 B. 2 C. 4 D. 5
4.以下选项中不符合 Python 语言变量命名规则的是(  )
A. A B. 3_1 C. _AI D. TempStr
5.为给整型变量x,y,z赋初值8,下面正确的Python赋值语句的是(  )
A. x=8;y=8;z=8 B. x,y,z=8 C. xyz=8 D. x=8,y=8,z=8
6.整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是(  )
A. (x%10)*10+x//10 B. (x%10)//10+x//10
C. (x/10)%10+x//10 D. (x%10)*10+x%10
7.以下关于字符串类型的操作的描述,错误的是(  )
A. str.replace(x,y)方法把字符串str中所有的x子串都替换成y
B. 想把一个字符串str所有的字符都大写,用str.upper(  )
C. 想获取字符串str的长度,用字符串处理函数 str.jye.ai(  )
D. 设 x='aa',则执行x*3的结果是'aaaaaa'
8.设 str='python',想把字符串的第一个字母大写,其他字母还是小写,正确的选项是(  )
A. print(str[0].upper(  )+str[1:])
B. print(str[1].upper(  )+str[-1:1])
C. print(str[0].upper(  )+str[1:-1])
D. print(str[1].upper(  )+str[2:])
9.下面代码的输出结果是(  )
weekstr=“星期一星期二星期三星期四星期五星期六星期日”;weekid=3
print(weekstr[weekid*3:weekid*3+3])
A. 星期二 B. 星期三 C. 星期四 D. 星期一
10.Python解释器执行print('金额:{0:f}元'.format(1.5000))的结果为(  )
A. 金额:1.5 元 B. 金额:1.500 元
C. 金额:1.500000元 D. 金额:¥1.50000元
11.下列对count(  )、index(  )、find(  )方法描述正确的是(  )
A. count(  )方法用于统计字符串里某个字符出现的次数
B. find(  )方法检测字符串中是否包含子字符串str,如果包含子字符串返回开始的索引值,否则会报一个异常
C. index(  )方法检测字符串中是否包含子字符串str,如果str不存在返回-1
D. 以上都错误
12.下列表达式的值为True的是(  )
A. 5+4j>2-3j B. 3>2>2
C. 1==1and2!=1 D. not(1==1and 0!=1)
13.有以下的程序段,其中k取(  )值时x=3。
A. 3 4 5 B. 1 2 C. 5 6 7 D. 5 6
14.以下程序执行后,最后一个输出结果是(  )
A. 1 B. 2 C. 5 D. 9
15.执行以下代码,其结果为(  )
A. 0 B. 45 C. 55 D. 66
16.Python 3解释器执行list=[1,4,3],list.jye.ai(list)后list的值是(  )
A. [1,4,3] B. [1,4,3,(  )]
C. [1,4,3,1,4,3] D. None
17.现有列表l=[1,2,3,4,5,6,7,8,9,0],那么python3解释器执行l[1:3]='abc'后执行 l[2]的结果是(  )
A. 4 B. b C. abc D. c
18.已知x=[1,2,3],那么连续执行y=x和y.append(4)两条语句之后,x的值为(  )
A. [1,2,3,4] B. [1,2,3] C. [4] D. (  )
19.以下关于元组的描述,错误的描述是(  )
A. 元组的元素可以是整数、字符串、列表等Python支持的任何类型
B. 与列表一样,元组也有append(  )、insert(  )函数
C. 元组是不可变序列
D. 元组的访问和处理速度比列表快
20.Python中,对于定义的元组tuple=('1','2','3','1','2','3'),以下各项操作不能成功执行的是(  )
A. tuple.jye.ai('2') B. tuple.jye.ai('2')
C. tuple.jye.ai(  ) D. len(tuple)
21.Python 3解释器执行for x in {'a':'b','c':'d'}:print(x,end=““)的结果是(  )
A. b c B. a c C. b d D. a b
22.以下不能创建一个字典的语句是(  )
A. dict1={}
B. dict2={ 3:5 }
C. dict3=dict([2,5],[3,4])
D. dict4=dict( ([1,2],[3,4]) )
23.函数如图
打印结果哪项是正确的(  )
A. changeInt:number2=3 number:3 B. changeInt:number2=3 number:2
C. number:2 changeInt:number2=2 D. number:2 changeInt:number2=3
24.函数如下。
下列对strs和list的值输出正确的是(  )
A. strs['1','2'] B. list['1','2']
C. list['end'] D. strs['1','2','end']
25.以下关于模块说法错误的是(  )
A. 一个test.py就是一个模块
B. 任何一个普通的t.py文件可以作为模块导入
C. 模块文件的扩展名不一定是.py
D. 运行时会从制定的目录搜索导入的模块,如果没有,会报错异常
26.定义类如下。
下面代码能正常执行的是(  )
A. B. C. D.
27.以下关于类属性的描述,正确的是(  )
A. 类属性是在类中定义在方法之内的变量
B. 类属性是所有实例化对象公用的,可以通过类名称或实例名称访问类属性
C. 类属性只能通过实例名称访问,不能通过类名称访问
D. 类属性通常在类的__init__(  )方法内部定义
28.Python中,使用open(  )方法打开一个文件后,可以读取该文件中的内容,读取文件内容的方式有多种,其中每次只能读取一行的是(  )
A. readlines(  ) B. read(  )
C. readall(  ) D. readline(  )
二、非选择题:本大题共26小题,共26分。
29.Python使用缩进来体现代码之间的逻辑关系。 ______ (判断对错)
30.在Python 3中,使用内置函数input (  )接收用户输入时,不论用户输入什么格式的内容,一律按字符串进行返回。 ______ (判断对错)
31.已知x=3,那么执行语句x+=6之后,x的内存地址不变。 ______ (判断对错)
32.在Python中,变量不直接存储值,而是存储值的引用,也就是值在内存中的地址。 ______ (判断对错)
33.已知“str='a**b*c*d'”,则“str.jye.ai('*',2)”的返回结果是['a','b','c','d']。 ______ (判断对错)
34.字符串属于Python有序序列,和列表、元组一样都支持双向索引。 ______ (判断对错)
35.对于带有else子句的循环语句,如果是因为循环条件表达式不成立而自然结束循环,则执行else子句中的代码。 ______ (判断对错)
36.在循环中continue语句的作用是跳出循环的执行。 ______(判断对错)
37.当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合以及任意形式的数字0都等价于False。 ______ (判断对错)
38.已知列表x=[1,2],执行语句y=x后,表达式id(x)==id(y)的值为True。 ______ (判断对错)
39.已知x是列表对象,那么执行语句y=x[:]之后,对y所做的任何操作都会同样作用到x上。 ______ (判断对错)
40.列表对象的extend(  )方法属于原地操作,调用前后列表对象的地址不变。 ______ (判断对错)
41.表达式list('[1,2,3]')的值是[1,2,3]。 ______ (判断对错)
42.创建只包含一个元素的元组时,必须在元素后面加一个逗号,例如(3,)。 ______ (判断对错)
43.Python字典中的“键”可以是列表、元组、数字、字符串。 ______ (判断对错)
44.已知A和B是两个集合,并且表达式A<B的值为False,那么表达式A>B的值一定为True。 ______ (判断对错)
45.定义Python函数时必须指定函数返回值类型。 ______ (判断对错)
46.如果在函数中有语句return 3,那么该函数一定会返回整数3。 ______ (判断对错)
47.在定义函数时,某个参数名字前面带有两个*符号表示可变长度参数,可以接收任意多个关键参数并将其存放于一个字典之中。 ______ (判断对错)
48.定义类时,在一个方法前面使用@staticmethod进行修饰,则该方法属于静态方法。 ______ (判断对错)
49.Python类不支持多重继承。 ______ (判断对错)
50.在函数内部,既可以使用global关键字来声明使用外部全局变量,也可以使用global关键字直接定义全局变量。 ______ (判断对错)
51.Python os.path模块中的方法isdir(  )可以用来测试给定的路径是否为文件夹。 ______ (判断对错)
52.使用内置函数open(  )且以“w”模式打开的文件,文件指针默认指向文件尾。 ______ (判断对错)
53.编程题:人机猜拳游戏
题目:猜拳游戏一般包含三种手势:石头、剪刀、布,判定规则为石头胜剪刀,剪刀胜布,布胜石头。在人机猜拳中,人表示用户,机表示电脑。用户所选择的手势由用户输入,电脑的手势则随机产生。根据猜拳的游戏规则对用户和电脑选择手势进行判断哪方获胜,并输出电脑生成的手势。
本题要求:
(1) 用函数实现猜拳游戏
(2) 使用random模块随机生成电脑手势
(3) 将“剪刀”“石头”“布”三种手势与数字构建成对应的dict类型——{0:'剪刀',1:'石头',2:'布'}
输出示例:
54.编程题:字符串的排列
题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
本题要求:1.使用递归思想
输出示例:
参考答案
1.D
2.B
3.B
4.B
5.A
6.A
7.C
8.A
9.C
10.C
11.A
12.C
13.A
14.A
15.C
16.C
17.B
18.A
19.B
20.C
21.B
22.C
23.B
24.D
25.A
26.C
27.B
28.D
29.√
30.√
31.×
32.√
33.×
34.√
35.√
36.×
37.√
38.√
39.×
40.√
41.×
42.√
43.×
44.×
45.×
46.×
47.√
48.√
49.×
50.√
51.√
52.×
53.【小题1】解:编写程序如下:
import random
gesture_dict={0:'剪刀',1:'石头',2:'布'}#初始化手势和数字的映射
def play_game(  ):#定义一个函数来实现猜拳游戏
while True:
user_input=input(“请输入(0剪刀、1石头、2布):“)#用户输入手势
try:
user_gesture=int(user_input)
if user_gesture not in gesture_dict:
print(“输入无效,请输入0、1或2“)
continue
user_gesture_name=gesture_dict[user_gesture]
computer_gesture=random.randint(0,2)#电脑随机生成手势
computer_gesture_name=gesture_dict[computer_gesture]
if (user_gesture==0 and computer_gesture==2)or(user_gesture==1 and computer_gesture==0)or (user_gesture==2 and computer_gesture==1):#判断胜负
print(f“电脑出的手势是{computer_gesture_name},你赢了,恭喜!“)
elif user_gesture==computer_gesture:
print(f“电脑出的手势是{computer_gesture_name},打成平局了!“)
else:
print(f“电脑出的手势是{computer_gesture_name},你输了,再接再厉!“)
continue_game=input(“是否继续:y/n“).lower(  )#询问是否继续
if continue_game!='y':
print(“游戏结束,谢谢参与!“)
break
except ValueError:
print(“输入无效,请输入数字!“)
play_game(  )
【小题2】
【小题3】
54.解:根据题干信息编程程序如下:
def permute(s):
if len(s)==0:
return['']
if len(s)==1:
return[s]
result=[]#存储所有排列结果的列表
for i in range(len(s)):#遍历字符串中的每一个字符
current_char=s[i]#取出当前字符
remaining_chars=s[:i]+s[i+1:]#对剩余的字符进行递归排列
for permutation in permute(remaining_chars):#获取剩余字符的所有排列
result.jye.ai(current_char+permutation)#将当前字符添加到排列的开头
return result
input_str=input(“请输入排列字符串:“)#读取用户输入
print(“字符串排列结果为:“)#调用permute函数并打印结果
print(permute(input_str))
第1页,共1页

展开更多......

收起↑

资源预览