python练习:购物结算(代码复制可用)

‘’‘
购物练习:从商品信息中选择要购买的商品和数量计算总价
结算总购物款,购买单个商品数量
计算购买商品次数
’‘’
dict_myshanpin_iof={101:{“商品名称”:“毛毛熊”,“单价”:25},
102:{“商品名称”:“布娃娃”,“单价”:52},
103:{“商品名称”:“小汽车”,“单价”:35},
104:{“商品名称”:“山地车”,“单价”:120},
105:{“商品名称”:“泡泡机”,“单价”:29},
106:{“商品名称”:“玩具枪”,“单价”:200},
}
list_sp=[]#放置所有商品信息
dict_sp={}#放置购买商品信息字典
defgowu_one(ar,sl):
‘’‘
提取单个商品信息并计算购买该商品总价
:paramar:商品编号
:paramsl:商品数量
:return:商品总价
’‘’
ifarindict_myshanpin_iof:
bh=dict_myshanpin_iof[ar]
sp=bh[“单价”]
zjname=bh[“商品名称”]
dict_sp[zjname]=sp*sl
returnlist_sp
defgowu_quan():
‘’‘
录入购买商品编号,统计计算购买数量和合计
做终断处理
:return:返回合计和购买次数
’‘’
whileTrue:
try:#错误处理
ar=int(input(“请输入商品编号:”))
sl=int(input(“请输入购买数量:”))
gowu_one(ar,sl)#调用单个商品计算函数
xuanze=input(“y继续购物,n退出”)#设置中断
exceptValueError:
continue
ifxuanze==“n”:
fornam,bumberindict_sp.items():#从商品信息字典中取出信息
list_sp.append(bumber)#把信息加入到列表中
print(“您购买的商品是:%s,购买数量为:%d,购买合计%d元”%(nam,sl,bumber))
break
elifxuanze!=“y”:
print(“输入错误”)
break
returnsum(list_sp),len(list_sp)
defjs_clear():
‘’‘
结算商品价格
清空商品
’‘’
gowu_quan()
js=input(“结算按y,清空购物车按q:”)
ifjs==“y”:
print(“您一共购买了%d种商品,总价为:%d元”%(len(list_sp),sum(list_sp)))
elifjs==“q”:
list_sp.clear()
dict_sp.clear()
print(“购物车已清空”)
js_clear()#调用函数