day 5 - 2 字典(dict)练习

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

tu = ("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])

#1)讲述元祖的特性
    子元素不可以被修改,子元素中的子元素可能被修改
    
#2)请问 tu 变量中的第一个元素 "alex" 是否可被修改?
    不可以,是元祖的子元素 不可以被修改
    
#3)请问 tu 变量中的 "k2" 对应的值是什么类型?是否可以被修改?如果可以,请在
#其中添加一个元素 "seven"
print(type(tu[1][2]["k2"]))
可以
tu[1][2]["k2"].append('seven')
print(tu)

#4)请问 tu 变量中的 "k3" 对应的值是什么类型?是否可以被修改?如果可以,请在
#其中添加一个元素 "seven"
print(type(tu[1][2]["k3"]))
不可以

 

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

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

#a. 循环打印输出所有 key
for i in dic.keys():
    print(i)

#b. 循环打印输出所有 value
for i in dic.values():
    print(i)

#c. 循环打印输出所有 key 和 value
for i in dic.items():
    print(i)

#d. 请在字典中添加一个键值对 "k4":"v4" 并输出
dic["k4"] = "v4"
print(dic)

#e. 修改字典中 "k1" 为 "alex" 并输出    
dic["k1"] = "alex"
print(dic)

#f. 在字典 "k3" 中 追加一个元素 18 并输出 
dic["k3"].append(18)
print(dic)
#g. 在字典 "k3" 对应的第一个值中插入元素 18 并输出
dic["k3"].insert(0,18)
print(dic)

 

3. 元素分类

有如下值 li=[11,22,33,44,55,66,77,88,99],将所有大于 66 的值保存至字典的第一个 key 中,将小于 66 的值保存至第二个 key 值中

即:{'k1':大于 66 的所有值列表,"k2":小于 66 的所有值列表}

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

4.购物车

输出商品列表,用户输入序号,显示用户选中的商品
商品 li=["手机","电脑","鼠标","游艇"]
要求:
1)页面显示 序号 + 商品名称
 如:
 1 手机
 2 电脑
2)用户输入选择的商品序号,然后打印商品名称
3)如果用户输入的商品序号有误,提示错误并重新输入
4)用户输入 Q 或 q,退出程序

while 1:
    li=["手机","电脑","鼠标","游艇"]
    for i in li:
        print("{}\t\t{}".format(li.index(i)+1,i))
    num = input("请输入商品序号/输入 Q\q 退出:")
    if num.isdigit():
        num = int(num)
        if num > 0 and num <= len(li):
            print(li[num-1])
        else:print("请输入有效数字")
    elif num.upper() == 'Q':
        break
    else:print('请输入数字')
posted @ 2018-10-30 07:34  亦双弓  阅读(439)  评论(0编辑  收藏  举报