如果全世界我也可以放弃,至少还有python值得我去珍惜!

(一)选择题
1.A
2.D
3.A
4.B
5.D
6.A
7.B
8.C
9.A
10.B
11.AD
12.BD
13.ABD
14.BCD
15.CD
(二)填空题
1. 4
2. len(list), list.append()
3.tu = (1,2,3),将此列表转化成列表 list(tu)
4.list = [1,2,3,4,5]point(list[3:1])答案[] 原因是切片只能从左往右切
5."钓鱼丝alex"用utf- 8 编码占 13 个字节
6.删除字典所用的键值对所用方法是pop ,del, clear,popitems
7.列举两个不可变的数据类型:元组tuple,字符串str,布尔bool

(三)简答题
1. == 比较的是两端的数字
is 比较的是内存地址


2. 写出三个可以表示false值的数据
0 ,[] ,"",{ },tuple(), set(),none


3.list和tuple有什么不同
list 用[]表示
tuple用()表示
list可变,tuple不可变


4.ASCII码 8 bit = 1byte 1byte= 1个字符
Unicode 32bit 4个字节表示一个字符 ,太占用内存,不便于存储传输
utf-8 8bit = 1byte 1字节表示一个英语字母,2个字节表示一个字符,3个字节表示一个汉字


5.int 和str存在小数据池 作用:优化程序运行,节省内存空间


6.s1 ='老屁孩'
s2 = s1.encode("utf-8")
s3 = s2.decode()
s4= s3.encode("gbk")
print(s4)'''


7.l = [1,1,2,2,3,4,5,5,6,6,7,8]将此列表去重,用set集合进行处理
l = [1,1,2,2,3,4,5,5,6,6,7,8]
l1 = set(l)
print(l1)


8.s = '1,2,3' 将字符串转换成列表
li =s.split(",")
print(li)
将列表转换成字符串用join



lis = [['k',['qwe',{'k1':['tt',3,'1']},89],'ab']]
#将列表中的tt转换成大写
#将列表中的3通过数字相加在转换成字符串的方式变成'100'
#将列表中的字符串'1'通过字符串的拼接的方式变成'101'
lis[0][1][1]['k1'][0] = lis[0][1][1]['k1'][0].upper
lis[0][1][1]['k1'][1]= lis[0][1][1]['k1'][1] +97
print(lis)

dic = {'k1':'v1','k2':['alex','sb'],(1,2,3):{'k3':['2',100,'wer']}}
将k2对应的值的最后面添加一个元素'23'
将k2对应的值的第一个位置插入一个元素'a'
将(1,2,3)对应的值添加一个键值对'k4','v4'
dic['k2'].append( 23 )
print(dic)
dic['k2'].insert(0,'a')
print(dic)
dic[(1,2,3)]['k4'] = 'v4'
print(dic)

11.使用range打印100,99,98,......1,0
for i in range(100,-1,-1):
print(i)

(四)编程题:涛哥讲解
分别使用while循环,和for循环计算1-3+5-7+9-11...99的结果
count = 1 #第几个数,表示计算的次数
sum = 0 #定义和变量
for i in range(1,100, 2): #for 循环将1-100进行遍历,步长为2,只去奇数1,3,5,7,9.....
if count %2 == 0: #如果(第几个数)第四个count = 4,i = 7 ;count=4 对2取余数,余数为0
sum = sum - i #做减法
else:
sum = sum + i #做加法
count = count + 1
print(sum)

sum = 0 #设定求和
fuhao = 1 #设定一个符号,
for i in range(1, 100, 2): #将(1,100)以步长为2,进行遍历 i等于1时,sum= 0 + (1*1)
sum = sum + (i*fuhao) #sum = sum + (i * 符号) 3时,sum= 1+(3*-1)
fuhao = -fuhao #关键,符号跟随者i变换,第n次数是奇,偶数 5 ,sum = -2+(5*1)
print(sum) #打印输出

index = 1
sum = 0
n = 1
while index < 100:
index = index + 2
sum = sum + (index*n)
n = -n
print (sum)

s = "jay:周杰伦|jj:林俊杰|gg:太白|sb:alex" #字符串s
dic = {} #创建一个空字典
lst = s.split("|") #将字符串,转换成列表用split进行切割
for el in lst: # jay:周杰伦 #将列表的元素进行遍历,每个元素都要操作一遍
ll = el.split(":") #将元素用split进行切割,切割后的结果是"jay""周杰伦"
key = ll[0] #将每个元素前面的部分作为键
value = ll[1] #将每个元素后面的部分作为值
dic[key] = value #将键和值对应添加到字典中
print(dic) #将字典打印输出

实现一个整数加法计算器:(5分)
如:content = input('请输入内容:') # 如用户输入:5+8+7....(最少输入两个数相加),
将最后的计算结果添加到此字典中(替换None):
dic={'最终计算结果':None}
dic= { }
content = input('请输入内容:') #用户交互,请输入内容
#
content = content.replace(" ", "") #将输入的内容进行去空格处理
lst = content.split("+") # 将输入的内容用加号切割,得到列表['5','8','7']
sum = 0
for el in lst: #将列表中的元素进行遍历
sum = int(el) + sum #将每一个数字字符串,变成整数进行求和运算
#将结果打印输出
dic['最终计算结果'] = sum
print(dic)


开发敏感词语过滤程序,提示用户不停的输入评论内容,
如果用户输入的内容中包含特殊的字符则将用户输入的内容中的敏感词替换成等长度的*
(苍老师替换成***),并添加到列表中,
如果用户输入的内容中没有敏感词汇则直接添加到列表中,
最终将列表中的全部内容进行打印
敏感词列表:li = [‘苍老师’, ‘东京热’, ‘武藤兰’, ‘波多野结衣’, ‘alex’](5分)
li = ['苍老师', '东京热', '武藤兰', '波多野结衣', 'alex'] #列表
result = [] #结果列表
while 1: #while 循环
content = input("请输入你的评论:") #用户交互,输入评论
if content.upper() == 'Q': #输入Q,停止循环
break
for el in li: #将列表中的每一个元素进行遍历
if el in content: #将列表中的元素在评论中进行遍历,查找是否有和列表中相同的词语
content = content.replace(el, "*"*len(el)) #将评论中的元素用星号替换,用元素的长度乘以星号,会得到与元素同样长度的星串
result.append(content) #将处理后的评论,添加到result列表中
print(result)

让用户随机输入10个数,
将这10个数保存在列表中,
将所有大于 55 的值保存至字典的第一个key的值中,
将小于 55 的值保存至第二个key的值中。(6分)
lst = [] #创建一个空列表
for i in range(10): #用户随机输入十个数,所以用for循环10次
c = input("请输入一个数:") #用户交互,用户输入的内容
lst.append(int(c)) #将输入的内容,变成整数,并添加到列表中
key1 = [] #创建字典的两个键
key2 = []
for el in lst: #将列表中的元素进行遍历
if el > 55: #如果元素数值大于55
key1.append(el) #添加到列表key1中
elif el < 55: #如果元素的数值小于55
key2.append(el) #将元素添加到列表key2中

dic = {"key1":key1, "key2":key2} #前面的key1(key2)是键,后面的key1(key2)是列表
print(dic)


6、车牌区域划分,给出一下车牌和地点信息对照,请根据车牌信息,分析出各省的车牌持有数量。
cars = ['鲁A32444', '鲁B12333', '京B8989M', '黑C49678', '黑C46555', '沪B25041', '黑C34567']
locations = {'沪': '上海', '京': '北京', '黑': '黑龙江', '鲁': '山东', '鄂': '湖北', '湘': '湖南'}
result = {} #创建一个空字典
for car in cars: # car 是车牌子,将车牌子进行遍历
result[locations[car[0]]] = result.get(locations[car[0]], 0) + 1 # 上海:1, 北京:1, 黑龙江
print(result)

car[0]表示的是cars列表中元素的第一个字,比如鲁,[locations[car[0]]这表示的归属地列表locations中的键对应的值
如果car[0] = 鲁,则locations[鲁]对应的值为山东.
开始,将山东的车牌在result中查找,查找不到,则表明在result中不存在,数值为0,将数值加1,添加到字典中
将各个归属地的车牌依次遍历,依次添加到字典中,打印输出

7. 按要求完成下列转化。(8分)
list3 = [
{"name": "alex", "hobby": "抽烟"},
{"name": "alex", "hobby": "喝酒"},
{"name": "alex", "hobby": "烫头"},
{"name": "alex", "hobby": "Massage"},
{"name": "wusir", "hobby": "喊麦"},
{"name": "wusir", "hobby": "街舞"},
{"name": "taibai", "hobby": "开车"},
{"name": "taibai", "hobby": "嫂子"},
]
list4= []

for ren in list3: #ren表示的是列表中的每一行,列表中每一行,每个字典即为一个元素 # {"name": "alex", "hobby": "抽烟"},
for el in list4: #将list4中的元素进行遍历
if el['name'] == ren['name']: #如果list4中元素的name,和list3中元素的name相同,同一个名字,同一个人
el['hobby_list'].append(ren['hobby'])# 将个人的hobby,添加到list4中的hobby_list
break
else:
dic = {} #创建一个空字典
dic['name'] = ren['name'] #ren['name']表示的是值,即name对应的名字,将list3中对应的名字添加到list4中
dic['hobby_list'] = [ren['hobby']] #将ren的hobby,添加到hobby_list中
list4.append(dic) # 第一个人进去
print(list4) #打印列表4


list4 = [
{"name": "alex", "hobby_list": ["抽烟", "喝酒", "烫头", "Massage"]},
{"name": "wusir", "hobby_list": ["喊麦", "街舞"]},
]
将list3 这种数据类型转化成list4类型,你写的代码必须支持可拓展,
比如list3 数据在加一个这样的字典{"name": "wusir", "hobby": "溜达"}, 你的list4{"name": "wusir", "hobby_list": ["喊麦", "街舞", "溜达"],
或者list3增加一个字典{"name": "太白", "hobby": "开车"},
你的list4{"name": "太白", "hobby_list": ["开车"],无论按照要求加多少数据,你的代码都可以转化.如果不支持拓展,则4分,支持拓展则8分
这道题是经典的纵变横的问题

转载于:https://www.cnblogs.com/rydong/p/9439208.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值