关于python内存管理下列说法错误的是_转:Python考核试题
及答案
Python测试(总分:120)选择题(每题2分,共20分)
1.下列哪个语句在Python中是⾮法的?(B)
A、x = y = z = 1
B、x = (y = z + 1)
C、x, y = y, x
python的try和except用法
D、x += yx=x+y
2.关于Python内存管理,下列说法错误的是(B)
A、变量不必事先声明
B、变量⽆须先创建和赋值⽽直接使⽤
C、变量⽆须指定类型
D、可以使⽤del释放资源
3.print 100 - 25 * 3 % 4 应该输出什么?(B)
A.1
B.97
C.25
D.0
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
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 > yandx : 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语句,⼀定执⾏;
5Dict特点?
答:
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 = " aleXis a man"
移除 name 变量对应的值两边的空格,并输出移除后的内容
print(name.strip(‘ ’))
判断 name 变量对应的值a出现次数,并输出结果
unt(‘a’))
3.判断 name 变量对应的值以a进⾏分割,并输出结果
print(name.split(‘a’))
4. 将 name 变量对应的值a替换成w,并输出结果
place(‘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:/’,’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 成绩(语⽂,数学,英语)[每课成绩的类型为整数]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。