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)
还没有任何评论哟~
