Advertisement

python青少年编程《商品管理系统--字典》

阅读量:

python3主流的数据结构包括整数、浮点数等数值类型、字符串、列表、元组(不可变序列)、集合以及字典。其中字典的存储容量几乎无限制,在实际应用中可以用来表示一个人的信息:如姓名、职业、年龄、地址等关键属性。

创建字典:

d={"姓名":"小明","职业":"老师","身高",175}

思考:

列表可以存储数据,为什么还要学习字典呢

字典中的元素采用键-值对的形式存储
d = \{key_{{\text{}}}:value_{{\text{}}}, key_{{\text{}}}:value_{{\text{}}}\}
例如 d = \{'{\text{小明}}':{\text{}}{\text{}}{\text{}}, {\text{'小红'}}:{\text{}}{\text{}}{\text{}}\} 中的小明和小红是 keys key, ${\text{}},{\text{}},{\text{}},{\text{}},{\text{}},{\text{}},{\text{}},{\text{}]}) 是 values value.

注意:

keys()获取字典的键

复制代码
 #keys()获取字典的键

    
  
    
 d={"小明":95,"小红":89,"小王":90} 
    
 for k in d.keys():
    
     print(k)
    
 >>>
    
 小明
    
 小红
    
 小王

values()获取字典的值

复制代码
 #values()获取字典的值

    
  
    
 d={"小明":95,"小红":89,"小王":90} 
    
 for v in d.values():
    
     print(v)
    
 >>>
    
 95
    
 89
    
 90

items()获取字典的键,值

复制代码
 #items()获取字典的键,值

    
  
    
 d={"小明":95,"小红":89,"小王":90} 
    
 for k,v in d.items():
    
     print(k,v)
    
 >>>
    
 小明 95
    
 小红 89
    
 小王 90

最简单最直接的字典遍历方法

复制代码
 #最简单最直接的字典遍历方法

    
  
    
 d={'小明':60,'小红':70,'小花':80}
    
 for i in d:
    
     print(i)
    
     print(d[i])
    
 >>>
    
 小明
    
 60
    
 小红
    
 70
    
 小花
    
 80

字典的增加

复制代码
 #字典的增加

    
  
    
 d={"小明":95,"小红":89,"小王":90} 
    
 for k,v in d.items():
    
     print(k,v)
    
 >>>
    
 小明 95
    
 小红 89
    
 小王 90
    
  
    
 #d字典增加小华
    
  
    
 d={"小明":95,"小红":89,"小王":90} 
    
 d["小华"]=70
    
 for k,v in d.items():
    
     print(k,v)
    
 >>>
    
 小明 95
    
 小红 89
    
 小王 90
    
 小华 70

字典的修改

复制代码
 d={"小明":95,"小红":89,"小王":90}

    
 for k,v in d.items():
    
     print(k,v)
    
 >>>
    
 小明 95
    
 小红 89
    
 小王 90
    
  
    
 #d字典修改
    
  
    
 d={"小明":95,"小红":89,"小王":90} 
    
 d["小明"]=70
    
 for k,v in d.items():
    
     print(k,v)
    
 >>>
    
 小明 70
    
 小红 89
    
 小王 90

使用del()对字典的删除

复制代码
 d={"小明":95,"小红":89,"小王":90}

    
 for k,v in d.items():
    
     print(k,v)
    
 >>>
    
 小明 95
    
 小红 89
    
 小王 90
    
  
    
 #d字典删除
    
  
    
 d={"小明":95,"小红":89,"小王":90} 
    
 del d["小明"]
    
 for k,v in d.items():
    
     print(k,v)
    
 >>>
    
 小红 89
    
 小王 90

使用pop()对字典的删除

复制代码
 d={"小明":95,"小红":89,"小王":90}

    
 for k,v in d.items():
    
     print(k,v)
    
 >>>
    
 小明 95
    
 小红 89
    
 小王 90
    
  
    
 #使用pop删除小明
    
     
    
 d={"小明":95,"小红":89,"小王":90}     
    
 d.pop("小明")
    
 for k,v in d.items():
    
     print(k,v)
    
 >>>
    
 小红 89
    
 小王 90

使用clear()对字典整个删除

复制代码
 d={"小明":95,"小红":89,"小王":90}

    
 for k,v in d.items():
    
     print(k,v)
    
 >>>
    
 小明 95
    
 小红 89
    
 小王 90
    
  
    
 #使用clear(),清空字典
    
  
    
 d={"小明":95,"小红":89,"小王":90}     
    
 d.clear()
    
 for k,v in d.items():
    
     print(k,v)
    
 >>>

使用 get() 和 d[键] 来访问值,那如果指定的键不存在呢?

复制代码
 #使用 get() 来获得对应的值

    
 d={"小明":95,"小红":89,"小王":90} 
    
 student=d.get("小明")
    
 print(student)
    
 >>>
    
 95
    
  
    
 #使用 d[键] 来获取对应的值
    
  
    
 d={"小明":95,"小红":89,"小王":90} 
    
 print(d["小明"])
    
 >>>
    
 95

方法get()的第一个参数用于标识键,并不可或缺;第二个参数表示指定键不存在时的情况

复制代码
 #方法get()第一个参数用于指定键,是必不可少的;第二个参数为指定键不存在时要返回的值

    
  
    
 d={"小明":95,"小红":89,"小王":90} 
    
 student=d.get("小黄","没有这个人")
    
 print(student)
    
 >>>
    
 没有这个人

利用学习的字典知识做一个超市购物系统

复制代码
 #超市购物系统

    
 shop = {"烤鱼":5, "绿茶":3, "柠檬":3, "牛奶":4, "红茶":5, "坚果":8}
    
 shoping_car = {}
    
 total = 0
    
  
    
 while True:
    
     #1.显示商品信息
    
     for i in shop:
    
     print('        {}         {}\n'.format(i, shop[i]))
    
     goods = input("请输入你想要购买的商品名称,退出系统请输入exit,结账请输入pay:")
    
     #2.退出功能
    
     if goods == "exit":
    
     print("正在退出系统……")
    
     print("已退出")
    
     break
    
     #3.结算功能
    
     elif goods == "pay":
    
     print("购物清单")
    
     for key in shoping_car:
    
         print("商品:",key,"数量:",shoping_car[key],"单价:",shop[key],"总价:",shoping_car[key]*shop[key])
    
         total = total +shoping_car[key]+shop[key]
    
     print("您需要支付:",total)
    
     break
    
  
    
     #4.选购功能
    
     else:
    
     if goods in shop:
    
         goods_number = int(input("请输入购买的数量:"))
    
         #添加到购物车
    
         if goods in shoping_car: #判断 goods 是否是购物车的成员
    
             shoping_car[goods] = shoping_car[goods] +goods_number
    
         else: #首次购买
    
             shoping_car[goods] = goods_number
    
     else:
    
         #提示无此商品
    
         print("无此商品,请重新输入:")

全部评论 (0)

还没有任何评论哟~