Day5作业及默写

时间:2021-07-10 22:41:10

1,有如下变量(tu是个元祖),请实现要求的功能

tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
讲述元祖的特性
    元组: 不可改。以','分割。
请问tu变量中的第一个元素 "alex" 是否可被修改?
    不可以被修改
请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"
    k2是对应值是列表;tu[1][2]['k2'].append('seven');print(tu)
请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"
    k3对应值是元组不可修改

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

请循环输出所有的key
for key in dic:
    print(key)
请循环输出所有的value
for value in dic:
    print(dic[value])
请循环输出所有的key和value
for key in dic:
    print('key:%s value:%s'%(key,dic[key]))
请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
dic.update({'k4':'k4'});print(dic)
请在修改字典中 "k1" 对应的值为"alex",输出修改后的字典
dic['k1']='alex';print(dic)
请在k3对应的值中追加一个元素 44,输出修改后的字典
dic['k3'].append(44);print(dic)
请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典
dic['k3'].insert(0,18);print(dic)

3

av_catalog =
{
    "欧美":{
        "www.youporn.com": ["很多免费的,世界最大的","质量一般"],
        "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
        "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
        "x-art.com":["质量很高,真的很高","全部收费,屌丝请绕过"]
    },
    "日韩":{
        "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]
    },
    "大陆":{
        "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
    }
}
给此 ["很多免费的,世界最大的","质量一般"]列表第二个位置插入一个  元素:'量很大'。
    av_catalog['欧美']['www.youporn.com'].insert(1,'量很大')
将此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表的 "全部收费,屌丝请绕过" 删除。
    av_catalog['欧美']['x-art.com'].pop()
在此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表中添加"金老板最喜欢这个"。
    av_catalog['欧美']['x-art.com'].append('金老板最喜欢这个')
将此["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]列表的 "verygood"全部变成大写。
    av_catalog['日韩']['tokyo-hot'][1]=av_catalog['日韩']['tokyo-hot'][1].upper()
给'大陆' 对应的字典添加一个键值对 '1048' :['一天就封了']
    av_catalog['大陆']['1048']=['一天就封了']
删除此"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]键值对。
    del av_catalog['欧美']['letmedothistoyou.com']
给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素,加上一句话:'可以爬下来'
    av_catalog['大陆']['1024'].insert(0,'可以爬下来')

4、有字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....} (升级题)

d = dict()
st = 'k:1|k1:2|k2:3|k3:4'
for dic in st.split('|'):
    key=dic.split(':')[0]
    value=dic.split(':')[1]
    d[key]=value
else:
    print(d)
s = "k:1|k1:2|k2:3|k3:4"
for i in s.split('|'):
    lis=i.split(':')
    key,value = lis
    dic[key.strip()]=int(value)
else:
    print(dic)

5、元素分类

有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}
d = {'k1':[],'k2':[]}
for num in li:
    if num > 66:
        d['k1'].append(num)
    elif num < 66:
        d['k2'].append(num)
else:
    print(d)

6、输出商品列表,用户输入序号,显示用户选中的商品(升级题)

商品列表:
goods = [{"name": "电脑", "price": 1999},
         {"name": "鼠标", "price": 10},
         {"name": "游艇", "price": 20},
         {"name": "美女", "price": 998},]
要求:
1:页面显示 序号 + 商品名称 + 商品价格,如:
    1 电脑 1999
    2 鼠标 10…
for num in range(len(goods)):
    print(num+1 ,goods[num]['name'] ,goods[num]['price'])
2:用户输入选择的商品序号,然后打印商品名称及商品价格
Select = input('选哪个商品:').strip()
print('名称:%s 价格:%d' % (goods[int(Select)-1]['name'],goods[int(Select)-1]['price']))
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
while True:
    Select = input('选哪个商品:').strip()
    if int(Select) in range(len(goods)+1):
        print('名称:%s 价格:%d' % (goods[int(Select)-1]['name'],goods[int(Select)-1]['price']))
    else:
        print('提示输入有误')
        continue
4:用户输入Q或者q,退出程序。
while True:
    Select = input('选哪个商品:').strip()
    if Select.upper() == 'Q':break
    if int(Select) in range(len(goods)+1):
        print('名称:%s 价格:%d' % (goods[int(Select)-1]['name'],goods[int(Select)-1]['price']))
    else:
        print('提示输入有误')
        continue
goods = [{"name": "电脑", "price": 1999},
         {"name": "鼠标", "price": 10},
         {"name": "游艇", "price": 20},
         {"name": "美女", "price": 998},]

while 1:
    for index in range(len(goods)):
        print('{}  {}  {}'.format(index+1,\
                                goods[index]['name'],\
                                goods[index]['price']))

    goods_num = input('请输入选项(Num/Q):').strip()
    if goods_num.isdigit():
        goods_num = int(goods_num)
        if 0 < goods_num <= len(goods):
            print(goods[goods_num-1]['name'],goods[goods_num-1]['price'])
        else:
            print('\n\t输入范围有