python基础部分测试题(作业)
- 简述变量命名规则
由数字、字母、下划线组成,不能以数字开头,不能是关键字,区分大小写 - 字节和位的关系
1bytes = 8 bit - 二哥使用utf-8编码时,占的位数和字节数是多少?使用gbk时占的位数和字节数?
utf-8:欧洲16位2个字节 亚洲24位3个字节 gbk:英文8位1个字节 中文16位2个字节 - 默写字符串的12个功能,描述其作用
1.startswith() 判断是否以xxx开头
2.endswith() 判断是否以xxx结尾
3.find()元素查找,找不到返回-1
4.insert()元素查找,找不到报错
5.capitalize()首字母大写
6.upper()字符串变大写生成新字符串
7.lower()字符串小写生成新字符串
8.strip()去除字符串两边的空格、换行符、制表符,并得到一个新的字符串
9.replace()替换字符串得到新的字符串
10.split()根据特定字符切开之后保存在列表中
11.join()字符串拼接得到新的字符串
12.len()获取字符串的长度 - 数字、字符串、列表、元组、字典对应bool值的false分别是什么?
数字:0
字符串:''
列表:[]
元组:()
字典:{}
6.书写python2与python3的三种不同
python2 python3
print'' print()
xrange range
raw_input input
7.利用切片对列表实现其功能
li = [1,3,2,'a',4,'b',5,'c']
通过对li列表的切片形成新列表l3,l3 = [1,2,4,5]
l3 = li[0:-1:2]
print(l3)
通过对li列表的切片形成新列表l4,l4 = [3,'a','b']
l4 = li[1:-1:2]
print(l4)
通过对li列表的切片形成新列表l5,l5 = ['c']
l5 = li[-1:-2:-1]
print(l5)
通过对li列表的切片形成新列表l6,l6 = ['b','a',3]
l6 = li[-3:0:-2]
print(l6)
8.组合嵌套
a.写代码,以下列表,按照要求实现每一个功能
lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
将lis中的‘tt’变成大写(两种方式)
lis[0][1][2]['k1'][0] = lis[0][1][2]['k1'][0].upper() #方法一
lis[0][1][2]['k1'][0] = lis[0][1][2]['k1'][0].replace('tt','TT') #方法二
将列表中的数字3变成字符串‘100’(两种方式)
lis[0][1][2]['k1'][1] = '100' #方法一
lis[0][1][2]['k1'].remove(3) #方法二
lis[0][1][2]['k1'].insert(1,'100')
将列表中字符串‘1’变成数字101(两种方式)
lis[0][1][2]['k1'][2] = 101 #方法一
lis[0][1][2]['k1'].remove('1') #方法二
lis[0][1][2]['k1'].insert(2,101)
print(lis)
b.写代码,以下字典,按要求实现功能
dic = {'k1':'v1','k2':['alxe','sb'],(1,2,3,4,5):{'k3':['2',100,'wer']}}
将k2对应的值最后面添加一个元素'23'
dic['k2'].append('23')
将k2对应的值的第一个位置插入'a'
dic['k2'].insert(0,'a')
将(1,2,3,4,5)对应的值添加一个键值对k4,v4
dic[(1,2,3,4,5)].setdefault('k4','v4')
将(1,2,3,4,5)对应的值添加一个键值对(1,2,3),'ok'
dic[(1,2,3,4,5)].setdefault((1,2,3),'ok')
将k3对应的值‘wer’改为‘qq’
dic[(1,2,3,4,5)]['k3'][2] = 'qq'
print(dic)
9.转化题
int与str之间如何转化,转化结果是什么?有没有条件?
s = str(1) #数字转化为字符串
y = int('1') #字符串转化为数字
int与bool之间如何转化,转化结果是什么?有没有条件?
a = bool(2) #int转换为bool 0转换为False 其他为True
b = int(False) #False转化为0 True转化为1
str与bool之间如何转化,转化结果是什么?有没有条件?
c = str(False) #bool转化为字符串结果转化为字符串类型
d = bool('sgh') #字符串转化为bool只要字符串不是空字符串就为True否则为False
str与list能否转换?如何转化?
e = list('ksjjgk') #字符串转化为列表
f = ['hgj','uy','ytg'] #列表转化为字符串
h =''.join(f)
print(type(h))
10.实现下列结果
(1)有列表li = ['alex','wusir','rain'],通过操作该列表构造一个字符串s = ‘alexwusirrain’
li = ['alex','wusir','rain']
s = ''.join(li)
print(s)
(2)有列表li = ['alex','wusir','rain'],通过操作该列表构造一个字符串s = ‘alexwusirrain’
s = '*'.join(li)
print(s)
(3)有字符串s = 'alexwusirrain',通过操作该字符串构造一个列表li = ['a','exwusirrain']
s = 'alexwusirrain'
li = s.split('l')
print(li)
(4)有字符串s = 'alex wusirrain',通过操作该字符串构造一个列表li = ['alex','wusirrain']
s = 'alex wusirrain'
li = s.split(' ')
print(li)
(5)有字符串s = 'alex'通过操作该字符串构造一个s1 = 'a_l_e_x'
s = 'alex'
s1 = '_'.join(s)
11.分别使用while循环和for循环打印1-2+3-4......+99的结果
while
sum = 0
count = 0
while count < 100:
count += 1
if count % 2 == 0:
sum -= count
else:
sum += count
print(sum)
for
sum = 0
for i in range(1,100):
if i % 2 == 0:
sum += i
else:
sum -= i
print(sum)
print(s1)
12.使用range打印100,99,88...2,1,0
for i in range(100,-1,-1):
print(i)
13.计算用户输入内容,中索引为奇数,并且and,对应的元素为数字的isdigit()个数(没有则个数为零)
content = input('请输入内容:')
count = 0
for i in range(len(content)):
if (i % 2 != 0) and content[i].isdigit():
count += 1
print(count)
14.补充代码(从已有的代码开始写)
有如下值li = [11,22,33,44,55,66,77,88,99,90]将所有大于66的值保存
至字典的第一个key中,将小于66的值保存到第二个key的值中
result = {}
li = [11,22,33,44,55,66,77,88,99,90]
key1 = []
key2 = []
for row in li:
if row > 66:
key1.append(row)
else:
key2.append(row)
result['key1'] = key1
result['key2'] = key2
print(result)
15.查找列表li中的元素,移除每个元素的空格,并找出以'A'或'a'开头,并以’c‘结尾的所有元素,并添加到一个新列表中,最后循环打印这个列表
li = ['taibai','alexC','AbC','egon','Ritian','Wusir',' aqc']
new_li = []
for i in li:
j = i.strip()
if (j.startswith('A') or j.startswith('a')) and j.endswith('c'):
new_li.append(j)
for x in new_li:
print(x)
16.实现一个整数计算器:
如:content = input('请输入内容:')如用户输入5+7+8...(最少输入两个数相加)然后进行分割再进行计算,将最后的计算结果添加到此字典中(替换None)
dic = {'最终计算结果':None}
content = input('请输入内容:').split('+')
sum = 0
for i in content:
sum += int(i)
dic['最终计算结果'] = sum
print(dic)
17.写程序:模拟公司hr录入员工账号密码的程序
(1)员工的账号密码存储在这种数据类型中:
(2)非法字符模板board = ['张三',‘李小四’,‘王二麻子’]
(3)hr输入用户名和密码(可以持续输入,如果想终止程序,那就在输入用户名时输入Q或q退出程序),在HR输入用户名时,检测此用户名是否存有非法字符,
如果有非法字符,则将其替换成同数量的(如王二麻子替换成***),然后添加到user_list中,如果没有非法字符,则直接添加到user_list中,
每次添加成功后打印出刚添加成功的用户名和密码
user_list = [
{'user_name':'sdhjs','password':'213464'},
{'user_name':'uiyi','password':'3416346'}
]
board = ['张三','李小四','王二麻子']
while 1:
user_name = input('请输入用户名(按Q或q退出程序):')
if user_name.upper() == 'Q':
break
password = input('请输入密码')
for i in board:
if i == user_name:
user_name ='*'*len(i)
dic = {}
dic[user_name] = password
print(dic)
user_list.append(dic)
print(user_list)

浙公网安备 33010602011771号