超级详细的python考核试题及答案

一、选择题(每题2分,共20分)
1.Python中以下哪个句子是非法的? (B)
A、x = y = z = 1 B、x = (y = z + 1)
C、x, y = y, x D、x += y??x=x+y
2.关于Python内存管理,以下说法是错误的 (B)
A、变量不需要事先声明 B、变量不需要直接创建和赋值
C、变量不需要指定类型 D、del可以用来释放资源
3.print 100 - 25 * 3 % 4 应该输出什么?(B)
A.1B.97
C.25D.0
4、Python的合法标识符号不是以下哪个? (B)
A、int32 B、40XL C、self D、__name__
5、以下哪一种说法是错误的? (A)
A、除字典类型外,所有标准对象均可用于布尔测试
B、空字符串的布尔值是False
C、空列表对象的布尔值是False
D、任何数字对象的布尔值为0,Falsee
6、以下表达值为True (C)
A、5+4j > 2-3j B、3>2>2
=1=1and2!=1D、not(1==1and 0!=1)
7、Python不支持的数据类型有 (A)
A、char B、int C、float D、list
8、以下不能创建字典的句子是 (C)
A、dict1 = {} B、dict2 = { 3 : 5 }
C、dict3 = dict( [2 , 5] ,[ 3 , 4 ] )
D、dict4 = dict( ( [1,2],[3,4] ) )
9、下面不能创建一个集合的句子 (C)
A、s1 = set () B、s2 = set (“abcd”)
C、s3 = (1, 2, 3, 4) D、s4 = frozenset( (3,2,1) )
10、以下Python语句正确 (D)
A、min = x if x < y else y B、max = x > y and?x : y
C、if (x > y) print x D、while True : pass
二.填空(每空一分,共10分)
设L=[‘a’,’b’,’c’,’d’,’e’,’f’,’g】,L[3]值为_,d___ ??L[3:5]值为__[[[]d’,’e’]_ L[:5]值为__[[[]a’,’b’,’c’,’d’,’e’]_ L[3:]值是___[**d’,’e’,’f’,’g’]_ L[-5:-2]值是___[**c’,’d’,’e’]_ L[::2]值为__[[[]a’,’c’,’e’,’g’]_
Python中的可变数据类型有__list_________________dict____不可变数据类型有____int_________________str___
三、简答题(每题5分,共45分)
1 声明变量注意事项有哪些?
答:
1.由字母、数字和下划线组成,不能从数字开始;
2.不能使用关键字。
2 简述 对象和 类的关系?
答:
类:抽象的,只有一个,一类事物的总称;
对象:实体,可以有多种,是类的具体实现。
3 如何在Python中实现tuple和list的转换?
答:tuple(list)
list(tuple)
介绍except的用法和作用?
答:
与try语句相结合,如果try语句正确,则不会执行except语句;
如果try语句错误,跳转到except语句,匹配except语句后的错误类型。如果错误类型相同,则输出相应的except语句下的内容。如果不匹配,再次执行try语句并报告错误;
如果后面有else语句,则在try语句正确时执行;
如果后面有finally语句,必须执行;
5 Dict特点?Dict特点?
答:
key不重复,不可变;
数据无序排放;
数据无序排放;
可变数据类型。
6 List 不同于tuple
答:
相似之处:都是有序集合
异同点:1. list是可变数据类型,tuple是不可变数据类型;
2.定义方法:list[] tuple()
3.list append(),insert()等方法;没有tuple;
7 定义函数的规则是什么?
答:
以def开头,后接函数名和 ’():在()中写有参数,下一行缩进,如果有返回值,则写在return后面。
8 对象语言包装、继承、多态,分别描述 包装、继承、多态的含义和作用?
答:
封装:将类的属性赋予对象 功能:调用方便
继承:子类继承父类的属性和方法 功能:减少代码量
多态:一类事物的多种表现形式,父类的引用,需要继承、重写、重载等方法。 功能:减少代码量
9 f在python中 = open('d:/a.txt', 'r')阅读文件需要注意什么?
答:
f是变量。open打开文件,如果文件不存在,创建后再打开。d:/a.txt“是文件路劲,代表d盘中的一个名字叫‘a.txt文件,文件,r以阅读的形式打开。
三 编程题(每题5分,共25分)
1 .实现登录功能(一个需要2分 ,共4分)
需求 1 当用户名称为时,用户可以输入用户名和密码 admin和 密码为 123 显示登录成功,否则登录失败!
答:
name=input(‘请输入用户名:’) pw=input(‘请输入用户密码:’) if(name==‘admin’)and(pw==‘123’): print(‘成功登录’) else: Print(‘登录失败’)
需求2 当用户名称为用户名时,实现用户名和密码的输入 seven 且 密码为 123 显示登录成功,否则登录失败,允许重复输入三次
答:
foriinrange(3): name=input(‘请输入用户名:’) pw=input(‘请输入用户密码:’) f(name==‘admin’)and(pw==‘123’): print(‘成功登录’) break else: print(‘登录失败’)
2 编写代码,有以下变量,请按要求实现每个功能(0.5分,共4分)
name="aleXisaman"
移除 name 变量对应的值两侧的空格,并输出删除后的内容
print(name.strip(‘’))
判断 name 变量对应的值a出现次数,并输出结果
print(name.count(‘a’))
3. 判断 name 变量对应的值由a分割,输出结果
print(name.split(‘a’))
4. 将 name 用w代替变量对应的值a,输出结果
print(name.replace(‘a’,’w’))
5. 将 name 变量对应的值变小写,输出结果
print(name.lower())
6. 请输出 name 变量对应值的第一位 2 个字符?
print(name[1])
7. 请输出 name 在变量对应的值之前 3 个字符?
print(name[:3])
8. 请输出 name 变量对应值后 2 个字符?
print(name[-2:])
从键盘输入字符串,将所有小写字母转换为大写字母,然后输出到磁盘文件"test"中保存。
答:
a=input(‘请输入字符串’) b=a.upper() f=open(‘d:/test/b.txt’,’w+’) f.write(b)
4 请通过循环输出99乘法表
答:
foriinrange(1,10): forjinrange(1,10): ifj<=i: print(j,'*',i,'=',(i*j))
5.输入一个六位数,要求每位数之和,如果每位数之和是36-45,那么这个数字就是幸运数字。
答:
a=int(input(请输入一个六位数) iflen(str(a))==6: ge==a%10 ten==a%100//10 hu==a%1000//100 th==a%10000//1000 wan==a//10000%10 tw==a//100000 if(ge+ten+hu+th+wan+tw)>=36and(ge+ten+hu+th+wan+tw)<=45: Print(a,‘为幸运数字’) else: print(‘如果您输入的位数有误,请重新输入。。’)
6 公司使用公共电话传输数据,数据为四位整数,在传输过程中加密,加密规则如下:每个数字加5,然后用和除以10余数代替数字,然后交换第一和第四、第二和第三。试着输入一个数字,并找到相应的数字。(8分)
答:
num=int(input('请输入四位数,'))
iflen(str(num))==4:
ge=num%10
ten=num%100//10
hu=num//100%10
th=num//1000
ge1=ge+5
ge2=ge1%10
ten1=ten+5
ten2=ten1%
hu1=hu+5
hu2=hu1%
th1=th+5
th2=th1%
print(加密后的数量为:,int((str(ge2)+str(ten2)+str(hu2)+str(hu2))
else:
print('如果您输入的位数错误,请重新输入')7.一:定义一个学生类。有以下类属性:(12分)
1 姓名
2 年龄
3 成绩(语文、数学、英语)[每节课成绩类型为整数]
类方法:
1 获取学生姓名:get_name() 返回类型:str
2 获得学生年龄:get_age() 返回类型:int
3 返回三个科目中最高的分数。get_course() 返回类型:int
写完类后,可以定义两个学生的考试:
zm = Student('zhangming',[69,88,100]
返回结果:
Zhangming 20 100
答:
classStudent(): def__init__(self,name,age,score): self.name=name self.age=age self.score=score defget_name(self): print(学生姓名:self.name) defget_age(self): print(‘学生年龄:’,self.age) defget_course(self): print(最高分数:,max(self.score)) zm=Student(张明,20,[69,88,100]) zm.get_name() zm.get_age() zm.get_course()
