建设电商网站的总结,全自动网页制作系统源码,成品网站模板下载,茶叶门户网站建立Python基础数据类型 题
考试时间#xff1a;三个小时 满分100分#xff08;80分以上包含80分及格#xff09;
1#xff0c;简述变量命名规范#xff08;3分#xff09;1.必须是字母#xff0c;数字#xff0c;下划线的任意组合。
2.不能是数字开头
3.不能是python中的关…Python基础数据类型 题
考试时间三个小时 满分100分80分以上包含80分及格
1简述变量命名规范3分1.必须是字母数字下划线的任意组合。
2.不能是数字开头
3.不能是python中的关键字
4.变量不能是中文
5.变量不能过长
6, 变量要具有可描述性2字节和位的关系。2分
8位等于1个字节
3’A太白’使用utf-8编码时占的位数和字节数是多少使用gbk编码时占的位数
和字节数是多少。2分
’A太白’使用utf-8编码时占56位和7个字节使用gbk编码时占40位和5个字节
4默写字符串的十二个功能并描述其作用。12分1.strip() 消除字符串两端的制表符空格换行符
2 split() 默认以空格分割
3 capitalize() 首字母大写其他字母小写
4.center 居中默认不填充填充可以是数字字母下划线特殊字符中文等
5 upper(),lower() 全部大写或者全部小写。验证码用的多
6 swapcase 大小写翻转
7 title 非字母隔开的每个单词的首字母大写
8 index 通过元素找索引
find 通过元素找索引,找不到返回-1
9 join 某些情况下list--str
10 replace 替换
11 len() 字符串的长度
12 count() 字符出中元素出现的个数
13 startswith 判断以什么内容开头返回bool值可以切片用逗号隔开。
endswith 判断以什么内容结尾5,Python中的常量是什么如何表示通常放在文件的哪里(2分)
用全部大写的字符串表示通常放在文件的开头
6Python中的单行注释和多行注释分别是什么2分
单行注释 # 和多行注释
7Python中input输入的是什么数据类型1分
字符串
8书写Python2与python3中的三个不同。3分python2X: 源码不规范源码混乱重复代码多。
python3X: 重整源码源码规范优美清晰简单
python2x: 默认的编码方式ascii,
显示中文首行 # -*- edcoding:utf-8 -*-
python3x: 默认的编码方式 utf - 8
python2x: print 内容 或者 print(内容)
python3x: print(内容)9写代码有如下列表利用切片实现每一个功能每题一分共计4分
l1 [a, b, c, WuSir, TaiBai, 老男孩]
1)通过对li列表的切片形成新的列表l2,l2 [‘a’,’c’,TaiBai]
l2l1[::2]
2)通过对li列表的切片形成新的列表l3,l3 [‘a’,’WuSir’]
l3l1[::3]
print(l3,type(l3))
3)通过对li列表的切片形成新的列表l4,l4 [‘老男孩’]?
del l1[:-1]
print(l1)
4)通过对li列表的切片形成新的列表l5,l5 [TaiBai, c,a]
l5l1[-2::-2]
print(l5)
10组合嵌套题。
a,写代码有如下列表按照要求实现每一个功能每题3分写出一种方法得1分写出两种方法的3分。此题共9分
每个都是一行代码实现lis [[k, qwe, 20, {k1: [tt, 3, 1]}, 89, ab]]
1)将列表lis中的’tt’变成大写用两种方式。
lis[0][3][k1][0]TT
lis[0][3][k1][0]lis[0][3][k1][0].upper()
print(lis)
2)将列表中的数字3变成字符串’100’用两种方式。
lis[0][3][k1][1]100
lis[0][3][k1][1]str(lis[0][3][k1][1]97)
print(lis)
3)将列表中的字符串’1’变成数字101用两种方式。
lis[0][3][k1][2]101
lis[0][3][k1][2]int(lis[0][3][k1][2]01)
lis[0][3][k1][2]int(lis[0][3][k1][2])100
print(lis)
b写代码有如下字典按照要求实现每一个功能(5分)
dic {k1: v1,k2: [alex,sb],(1,2,3,): {k3: [2, 100, TaiBai]}}
1)将’k2’对应的值的最后面的’sb’删除。
dic[k2].remove(sb)#同一个字典内部通过键去找字典的内容列表是索引
print(dic)
2)将’k2’对应的值的第二个位置插入一个元素 ’老男孩’。
dic[k2].insert(1,老男孩)
print(dic)
3)将(1,2,3,)对应的值添加一个键值对(1,2,3),’ok’。
dic[(1,2,3,)][(1,2,3)]ok
print(dic)
4)将’k3’对应的列表的最后追加’a’,’b’,’c’,’d’四个元素。
dic[(1,2,3,)][k3].extend(abcd)
print(dic)
5)将TaiBai改成男神。
dic[(1,2,3,)][k3][2]男神
print(dic)11,转化题4分。
Int与str之间如何转化转换的结果是什么有没有条件
int可以转换为str
str可以转换为int 条件是str内容全部为整数
Int 与 bool之间如何转化转换的结果是什么有没有条件?
int--bool 0是False,其他是True
bool--int True是1 False是0
str 与 bool之间如何转化转换的结果是什么有没有条件?
str --bool 空字符串是False其他是True
bool -- str True是1 False是0
str 与 list 能否转化如何转化
能用split()
12实现下列结果3分。1)有列表li [老男孩, alex, WuSir, TaiBai]
通过一行代码构造一个字符串s’老男孩**alex**WuSir**TaiBai’
li [老男孩, alex, WuSir, TaiBai]
**.join(li)
print(**.join(li))
2)有字符串s alex WuSir TaiBai,通过一行代码构造一个列表li [ alex, WuSir, TaiBai]
s alex WuSir TaiBai
lis.split()
print(li)
3)有字符串s ‘alex’通过操作该字符串构造一个字符串s1 ‘a_l_e_x’
s alex
s1 _.join(s)
print(s1)13分别使用while循环和for循环打印1-23-45.......99的结果。8分count0
sum0
while count99:
count 1
if count % 2 1:
sumcount
else:
sum-count
print(sum)
sum0
for i in range(100):
if i % 2 1:
sumi
else:
sum-i
print(sum)14使用range打印100,98,96,94....6,4,2,0(2分)
for i in range(100,-1,-2):
print(i)
15有如下列表li [老男孩, WuSir, alex, TaiBai]写代码通过代码构造成一个新列表l2,
l2 [老男孩SB, WuSirNB, alexSB, TaiBaiNB](4分)li [老男孩, WuSir, alex, TaiBai]
l2[]
for i in li:
if li.index(i) % 2 1:
iiNB
else:
iiSB
l2.append(i)
print(l2)
anser
li [老男孩, WuSir, alex, TaiBai]
for index in range(len(li)):
# print(index)
if index % 2 0:
li[index] li[index] SB
else:
li[index] li[index] NB
print(li)16编写程序统计如下各个字符串个数。6分
如有此字符串str1 hello world god is allways busy
最后得到的结果为‘h:1,e:1,l:5,o:3,w:2,r:1,d:2,g:1,i:1,s:3,a:2,y:2,b:1,u:1,’anser
str1 hello world god is allways busy
# l1str1.split()
# print(l1)
# s.join(l1)
# print(s)
s1 .join(str1.split()) # [hello,world......]
print(s1) # helloworldgodisallwaysbusy
result
for i in s1:
if i not in result:
result result i : str(s1.count(i)) , # h : 1 ,#字符串的相加
# h:1, e : 1 ,
print(result)17补充代码(从已有的代码下面继续写)6分
有如下值li [11,22,33,44,55,77,88,99,90]将所有大于 66 的值保存至字典的第一个key中将小于 66 的值保存至第二个key的值中。
li [11,22,33,44,55,77,88,99,90]
自己写的anser 是错的result {}
k1[]
k2[]
for row in li:
if row66:
if result[k1][]:
result[k1]row
else:
result[k1].append(row)
else:
if result[k2] []:
result[k2]row
else:
result[k2].append(row)
print(result)anserli [11, 22, 33, 44, 55, 77, 88, 99, 90]
# result {k1:[],k2:[]}
result {}
for row in li:
if row 66:
if k1 not in result:#当正面思维遇到瓶颈的时候可以尝试着用反向思维考虑下或许会有意想不到的结果。
result[k1] []
result[k1].append(row)
elif row 66:
if k2 not in result:
result[k2] []
result[k2].append(row)
print(result)18,查找列表li中的元素移除每个元素的空格并找出以’A’或者’a’开头并以’c’结尾的所有元素
并添加到一个新列表中,最后循环打印这个新列表。3分li [TaiBai , alexC, AbC , egon, riTiAn, WuSir, aqc]
l []
for i in li:
if i.strip().capitalize()[0]A and i.strip()[-1]c:
l.append(i)
print(l)19实现一个整数加法计算器3分
如content input(‘请输入内容:’) # 如用户输入587....(最少输入两个数相加)然后进行分割再进行计算
将最后的计算结果添加到此字典中(替换None)
dic{‘最终计算结果’:None}。
content input(请输入你的内容).strip()con content.split()
sum 0
for i in con:
ii.strip()
iint(i)
sumsumi
print(sum)
anser
dic{‘最终计算结果’:None}。
content input(输入内容).strip()
li content.split()
dic {最终结果: None}
sum 0
for i in li:
sum int(i)
dic[最终结果] sum
print(dic)20按要求完成下列转化如果给list3再添加多个类似的字典如{name: 太白, hobby: sport}而你的代码不能通用则只能得4分。(6分)
list3 [
{name: alex, hobby: 抽烟},
{name: alex, hobby: 喝酒},
{name: alex, hobby: 烫头},
{name: alex, hobby: Massage},
{name: wusir, hobby: 喊麦},
{name: wusir, hobby: 街舞},
]
# 如何把上面的列表转换成下方的列表
list4 [
{name: alex, hobby_list: [抽烟, 喝酒, 烫头, Massage]},
{name: wusir, hobby_list: [喊麦, 街舞]},
答案list3 [
{name: alex, hobby: 抽烟},
{name: alex, hobby: 喝酒},
{name: alex, hobby: 烫头},
{name: alex, hobby: Massage},
{name: wusir, hobby: 喊麦},
{name: wusir, hobby: 街舞},
]
list4[]
for i in list3:
for j in list4:
if i[name]j[name]:
j[hobby_list].append(i[hobby],)
break
else:
list4.append({name:i[name],hobby_list:i[hobby]},)
print(list4)
list3 [
{name: alex, hobby: 抽烟},
{name: alex, hobby: 喝酒},
{name: alex, hobby: 烫头},
{name: alex, hobby: Massage},
{name: wusir, hobby: 喊麦},
{name: wusir, hobby: 街舞},
{name: wusir, hobby: 洗头},
{name: 太白, hobby: 街舞},
]{ alex: {name: alex, hobby_list: [抽烟, 喝酒, 烫头, Massage]},
wusir:{name: wusir, hobby_list: [喊麦, 街舞]},
}dic {
alex: {name: alex, hobby_list: [抽烟]},
wusir:{name: wusir, hobby_list: [喊麦, 街舞]},
}
print(list(dic.values()))
方法一
dic {}
for i in list3:
if i[name] not in dic:
dic[i[name]] {name:i[name],hobby_list:[i[hobby],]}
else:
dic[i[name]][hobby_list].append(i[hobby])
print(list(dic.values()))
list4 [
{name: alex, hobby_list: [抽烟, 喝酒, 烫头, Massage]},
{name: wusir, hobby_list: [喊麦, 街舞]},
]
list4 []
#list4 [{name: alex, hobby_list: [抽烟, ]]
for i in list3:
# {name: alex, hobby: 抽烟},
# {name: alex, hobby: 喝酒},
for j in list4: # list4 [{name: alex, hobby_list: [抽烟, ]}]
# j {name: alex, hobby_list: [抽烟, ]}
if i[name] j[name]:
j[hobby_list].append(i[hobby],)
break
else:
list4.append({name:i[name],hobby_list:[i[hobby],]})
print(list4)21,写程序模拟公司HR将员工信息录入公司内部系统。
录入的员工信息表为这种数据类型
user_list [
{id:1,
personal_info:
{name:老男孩,
age:56,
sex:男,
marry_status:是,
edu_background:本科}
}
]
1HR选择添加员工信息或者退出。
2分别将员工的姓名年龄性别婚否学历这几项依次录入员工信息表中其中id为自增id不用HR填写而是每添加一个员工信息就自动加1并且id是唯一的。
3如果遇到录入员工信息时有相同的姓名那么就将相同的姓名的员工的名字变成 名字id如之前录入了一个名叫张三的员工之后新员工又有同名的情况也叫张三那么后面这个张三名字要改成 张三2此id为他的对应的id。
4退出整个程序时最后要将本次录入的所有的员工姓名依次打印出来。
Ps:user_list [
{id: 1,
personal_info:
{name: 小明,
age: 32,
sex: 男,
marry_status: 是,
edu_background: 本科}
},
]
while True:
choice input(是否添加员工信息Q或者q退出).strip()
if choice.upper()Q:break
name,age,sex,marry_status,edu_backgroundinput(请依次输入姓名年龄性别婚否学历).strip().replace(,,).split(,)
#分别赋值replace(,,)尽量去除掉人为的因素
for i in user_list:
if i[personal_info][name]name:
namenamestr(len(user_list)1) #id列表的长度1
user_list.append(
{id: len(user_list)1,
personal_info:
{name: name,
age: age,
sex: sex,
marry_status: marry_status,
edu_background:edu_background }
},
)
for i in user_list[1:]: # 循环打印
print(i[personal_info][name],i[id])123