# day5__作业及答案

#### 1、将列表中的每个元素通过"_"链接起来

users = ['刘少奇', '李启航', '渣渣辉']_

users = ['刘少奇', '李启航', '渣渣辉']
s = "_".join(users)
print(s)  #刘少奇_李启航_渣渣辉


#### 2、将列表中的每个元素通过"_"链接起来

users = ['刘少奇', '李启航', 666, '渣渣辉']
list = ''
for i in users:
list = list + '_' + str(i)
list = list.strip("_")
print(list)   #刘少奇_李启航_666_渣渣辉


#### 3、请将元组v1 = (11,22,33)中的所有元素追加到列表v2 = [44,55,66]中

v1 = (11, 22, 33)
v2 = [44, 55, 66]
v2.extend(v1)
print(v2)  #[44, 55, 66, 11, 22, 33]


#### 4、 请将元组 v1 = (11,22,33,44,55,66,77,88,99) 中的所有偶数索引位置的元素 追加到列表v3 = [44,55,66] 中

v1 = (11, 22, 33, 44, 55, 66, 77, 88, 99)
v3 = [44, 55, 66]
for i in v1:
if i % 2 == 0:
v3.append(i)
print(v3)  #[44, 55, 66, 22, 44, 66, 88]


#### 5、将字典的键和值分别追加到 key_list 和 value_list 两个列表中

key_list = []
value_list = []
info = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}

#方法一：
for i in info:
key_list.append(i)
value_list.append(info.get(i))
print(key_list)
print(value_list)

['k1', 'k2', 'k3']
['v1', 'v2', 'v3']

#方法二：
key_list.extend(info.keys())
value_list.extend(info.values())
print(key_list)
print(value_list)

['k1', 'k2', 'k3']
['v1', 'v2', 'v3']


#### 6、字典dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}

a、请循环输出所有的Key

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
for i in dic:
print(i)


b、请循环输出所有的value

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
for i in dic:
print(dic.get(i))


c、请循环输出所有的key和value

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
for i in dic:
print(dic.keys())
print(dic.values())


d、请在字典中添加一个键值对，"k4": "v4"，输出添加后的字典

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
dic['k4'] = 'v4'
print(dic)


e、 请在修改字典中 "k1" 对应的值为 "alex"，输出修改后的字典

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
dic['k1'] = 'alex'
print(dic)


f、请在k3对应的值中追加一个元素 44，输出修改后的字典

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
dic['k3'].append(44)
print(dic)


g、请在k3对应的值的第 1 个位置插入个元素 18，输出修改后的字典

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
dic['k3'].insert(0, 18)
print(dic)


#### 7、有如下字典,请按照一下的需求对字典进行操作

av_catalog = {
"欧美": {
"www.宝元.com": ["很多免费的,世界最大的", "质量一般"],
"www.alex.com": ["很多免费的,也很大", "质量挺好"],
"oldboy.com": ["多是自拍,高质量图片很多", "资源不多,更新慢"],
"hao222.com": ["质量很高,真的很高", "全部收费,屌丝请绕过"]
},
"日韩": {
"tokyo-hot": ["质量怎样不清楚,个人已经不喜欢日韩范了", "verygood"]
},
"大陆": {
"1024": ["全部免费,真好,好人一生平安", "服务器在国外,慢"]
}
}

a.给此 ["很多免费的,世界最大的","质量一般"]列表第二个位置插入一个 元素：'量很大'。

av_catalog['欧美']['www.宝元.com'].insert(1, '量很大')
print(av_catalog)


b.将此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表的 "全部收费,屌丝请绕过" 删除。

del av_catalog['欧美']['hao222.com'][-1]
print(av_catalog)


c.将此["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]列表的 "verygood"全部变成大写。

av_catalog['日韩']['tokyo-hot'][1] = av_catalog['日韩']['tokyo-hot'][1].upper()
print(av_catalog)


d.给 '大陆' 对应的字典添加一个键值对 '1048' :['一天就封了']

av_catalog['大陆']['1048']='一天就封了'
print(av_catalog)


e.删除这个键值对："oldboy.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]

del av_catalog['欧美']['oldboy.com']
print(av_catalog)


f.给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素，加上一句话：'可以爬下来'

av_catalog['大陆']['1024'].insert(0,'可以爬下来')
print(av_catalog)


#### 8、请循环打印k2对应的值中的每个元素。

info = {
'k1':'v1',
'k2':[('alex'),('wupeiqi'),('oldboy')],
}

for i in info.get('k2'):
print(i)


#### 9、有字符串"k: 1|k1:2|k2:3 |k3 :4" 处理成字典 {'k':1,'k1':2,'k3':4}

lst = "k: 1|k1:2|k2:3 |k3 :4"

lst = "k: 1|k1:2|k2:3 |k3 :4"
li = lst.split("|")   #以|为分隔符，把它们进行拆分
dic = {}
for i in li:
a,b=i.split(":")  #抓分元组
dic[a]= int(b)
print(dic)


#### 10、有如下值 li= [11,22,33,44,55,77,88,99,90] ,将所有大于 66 的值保存至字典的第一个key对应的列表中，将小于 66 的值保存至第二个key对应的列表中。

li= [11,22,33,44,55,77,88,99,90]
result = {'k1':[],'k2':[]}
for i in li:
if i > 66:
result['k1'].append(i)
else:
result['k2'].append(i)
print(result)


#### 11、看代码写结果

v = {}
for index in range(10):   #循环0---9
print(index)
v['users'] = index     #当循环到9时，循环结速，v['users'] = index 当键相同时默认修改键值，只保留最后的键值9，所以输入是'user':9
print(v)



#### 12、输出商品列表，用户输入序号，显示用户选中的商品

goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}
]

##### 1)、 要求:

1：页面显示 序号 + 商品名称 + 商品价格，如：

1 电脑 1999

2 鼠标 10.....

方法一：
for i in range(0,len(goods)):
print(i,goods[i]['name'],goods[i]['price'])

方法二：
for num, dic in enumerate(goods, start=1):
print('{}\t{}\t{}'.format(num, dic['name'],dic['price']))

##### 2)用户输入选择的商品序号，然后打印商品名称及商品价格
num = int(input("请输入商品序号:"))
lst = goods[num]
print(num, lst["name"], lst["price"])

##### 3) 如果用户输入的商品序号有误，则提示输入有误，并重新输入
while 1:
num = input("请输入商品序号:").strip() #strip()去掉输入内容的前后空格
if 0 < int(num) <= len(goods):
num = int(num)
lst = goods[num-1]
print(num, lst["name"], lst["price"])
else:
print("你输入的数字超出商品范围，请重新输入")

##### 4)用户输入Q或者q，退出程序。
while 1:
num = input("请输入商品序号,输入q退出程序:").strip() #strip()去掉输入内容的前后空格
if num.upper() == "Q":
print("己退出程序！");break
if num.isdecimal():
num = int(num)
if 0 < int(num) <= len(goods):
lst = goods[num - 1]
print('商品序号:',num,'\t商品名称:',lst['name'],'\t商品价格：',lst['price'])
else:
print('你输入的数字超出商品范围，请重新输入:')
else:
print("你输入的是非数字，请重新输入：")

posted @ 2020-06-20 17:52  MrXiong  阅读(110)  评论(0编辑  收藏