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('请输入数字')