欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

day 5 - 2 字典(dict)练习

程序员文章站 2022-07-02 22:56:38
1. 有如下变量(tu 是个元祖),请实现要求的功能 tu = {"alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44]} 2. 字典 dic,dic={'k1':"v1",'k2':"v2",'k3':[11,22,33] ......

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(tu["k2"],type)
可以
tu[1][2][1].append('seven')
print(tu)
#4)请问 tu 变量中的 "k3" 对应的值是什么类型?是否可以被修改?如果可以,请在
#其中添加一个元素 "seven"
不可以

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