功能要求:设定一个初始金额,把商品打印出来,输入商品名选择商品,然后打印出你所购买的商品,输入Y表示结算,结算时,打印出商品名、单价是、总价,如果总价超过初始金额,则显示金额不够,如果总价不超过初始金额,则显示 OK.
l = input("请输入你的初始金额:")
all_money = int(l)
a = {"鼠标":30,
"主机":5000,
"游艇":8000,
"显示器":2000,
}
for i in a:
print(i) #打印商品
car_list = {} #创建空购物车字典
while True:
b = input("请输入你选择的商品:(Y/y则去结算)")
if b.lower() == 'y': #判断是否要结算
break #结算则退出循环
else:
if b in a: #输入的商品在商品列表中
if b not in car_list: #输入的商品不在购物车中
#{"主机":[number,price]}
c = 1
car_list.update({b:[c,a[b]]}) #创建购物车字典,构造key为商品名,value为数量和单价的字典,像这样{'商品名':[数量,单价]}
print(car_list)
else: #输入的商品在购物车中
x = car_list[b][0] + 1 #在购物车中则数量加1
car_list.update({b: [x, a[b]]}) #更新购物车字典
print(car_list)
s = 0
for k,j in car_list.items():
print("你买到的商品:" + k + " 数量:" + str(j[0]) + " 单价:" + str(j[1]))#打印购物车字典
s1 = j[0] * j[1]
s = s + s1
print("你购买的总金额: " + str(s))
if s > all_money:
print("you are 吊丝!你的钱不够!!!!")
else:
print("ok!!")
运行结果1:
运行结果2: