资源简介 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. 54.以下选项中不符合 Python 语言变量命名规则的是( )A. A B. 3_1 C. _AI D. TempStr5.为给整型变量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=86.整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是( )A. (x%10)*10+x//10 B. (x%10)//10+x//10C. (x/10)%10+x//10 D. (x%10)*10+x%107.以下关于字符串类型的操作的描述,错误的是( )A. str.replace(x,y)方法把字符串str中所有的x子串都替换成yB. 想把一个字符串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=3print(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不存在返回-1D. 以上都错误12.下列表达式的值为True的是( )A. 5+4j>2-3j B. 3>2>2C. 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 614.以下程序执行后,最后一个输出结果是( )A. 1 B. 2 C. 5 D. 915.执行以下代码,其结果为( )A. 0 B. 45 C. 55 D. 6616.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. None17.现有列表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. c18.已知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 b22.以下不能创建一个字典的语句是( )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:2C. number:2 changeInt:number2=2 D. number:2 changeInt:number2=324.函数如下。下列对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. 模块文件的扩展名不一定是.pyD. 运行时会从制定的目录搜索导入的模块,如果没有,会报错异常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.D2.B3.B4.B5.A6.A7.C8.A9.C10.C11.A12.C13.A14.A15.C16.C17.B18.A19.B20.C21.B22.C23.B24.D25.A26.C27.B28.D29.√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 randomgesture_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 resultinput_str=input(“请输入排列字符串:“)#读取用户输入print(“字符串排列结果为:“)#调用permute函数并打印结果print(permute(input_str))第1页,共1页 展开更多...... 收起↑ 资源预览