Python测试(总分:120)
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) 4、下面哪个不是Python合法的标识符 (B) A、int32 B、40XL C、self D、__name__ 5、下列哪种说法是错误的 (A) A、除字典类型外,所有标准对象均可以用于布尔测试 B、空字符串的布尔值是False C、空列表对象的布尔值是False D、值为0的任何数字对象的布尔值是False 6、下列表达式的值为True的是 (C) A、5+4j > 2-3j B、3>2>2
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)
答: 与try语句连用,如果try语句正确,则不会执行except语句; 如果try语句错误,则跳转到except语句,和except语句后的错误类型进行匹配,错误类型一致,则输出相应except语句下的内容。如果都不匹配,则再一次执行try语句,并且报错; 如果后面有else语句,在try语句正确的情况下执行; 如果后面有finally语句,一定执行; 5 Dict特点? 答: 1.key不重复,不可变;
3.可变数据类型。 6 List 和tuple 区别 答: 相同点:都是有序集合 异同点:1. list是可变数据类型,tuple是不可变数据类型; 2.定义方式:list[] tuple() 3.list 有append(),insert()等方法;tuple没有 7 定义函数的规则是? 答: 以def开头,后接函数名和 ’():’,有参数写在()中,下一行缩进,如果有返回值则写在return后面。 8 面向对象语言都有封装,继承,多态,分别描述 封装,继承,多态的含义和作用? 答: 封装:把类的属性赋予给对象 作用:方便调用 继承:子类继承父类的属性和方法 作用:减少代码量 多态:一类事物的多种表现形式,父类的实现指向子类的引用,需要利用继承,方法重写,重载等方法 作用:减少代码量 9 在python中f = 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 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次 答: for i in range(3): name = input(‘请输入用户名:’) pw = input(‘请输入用户密码:’) f (name == ‘admin’)and (pw == ‘123’): print(‘登录成功’) break else: print(‘登录失败’) 2 写代码,有如下变量,请按照要求实现每个功能(0.5分一个,共4分) name = ' aleX is a man'
print(name.strip(‘ ’))
print(name.count(‘a’)) 3. 判断 name 变量对应的值以a进行分割,并输出结果 print(name.split(‘a’)) 4. 将 name 变量对应的值a替换成w,并输出结果 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:])
答: a = input(‘请输入一个字符串:’) b = a.upper() f = open(‘d:/test/b.txt’,’w+’) f.write(b) 4 请用循环的方式输出九九乘法表 答: for i in range(1,10): for j in range(1,10): if j <= i: print(j,'*',i,'=',(i*j)) 5.输入一个六位数,求各位数之和,如果各位数之和为36-45,则此数字为幸运数字。 答: a = int(input(‘请输入一个六位数:’)) if len(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) >= 36 and (ge+ten+hu+th+wan+tw)<= 45: Print(a,‘为幸运数字’) else: print(‘您输入的位数有误,请重新输入。。。’) 6 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。试输入一个数,并求出对应的数字。(8分) 答: num = int(input('请输入一个四位数:')) if len(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 % 10 hu1 = hu + 5 hu2 = hu1 % 10 th1 = th + 5 th2 = th1 % 10 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 返回3门科目中最高的分数。get_course() 返回类型:int 写好类以后,可以定义2个同学测试下: zm = Student('zhangming',20,[69,88,100]) 返回结果: Zhangming 20 100 答: class Student(): def __init__(self,name,age,score): self.name = name self.age = age self.score = score def get_name(self): print(‘学生姓名:’,self.name) def get_age(self): print(‘学生年龄:’,self.age) def get_course(self): print(‘最高的分数:’,max(self.score)) zm = Student(‘张明’,20,[69,88,100]) zm.get_name() zm.get_age() zm.get_course() |
|
来自: Four兄 > 《Python笔记》