python 购物车程序

python 购物车程序,第1张

#购物车程序
# 需求:
# (1)我和黑姑娘去逛街,程序实现打印商品列表,用户可以通过商品编号来选购商品,允许不断的买商品
# (2)程序启动时,让用户先输入自己的工资,总购物的商品价格不能超过工资
# (3)用户随时可退出程序。退出时,打印,分别买了哪些商品,及余额
# 规则:不能用dict和set


#自己写的

#输入工资
gongzi=input("请输入您的工资:")
if not gongzi.isdigit():
    print("输入工资格式不合法!")
else:
    gongzi=int(gongzi)
#打印商品列表[口红(0),洗面奶(1),袜子(2),面包(3),电脑(4),饮料(5)]
# 商品格式[编号,商品名,价格],列表索引为商品的编号
shangpinliebiao=[[0,"口红",120],[1,"洗面奶",100],[2,"袜子",23],[3,"面包",12],[4,"电脑",8000],[5,"饮料",8]]
print("商品列表为:".center(50,"-"))
for shangpin in shangpinliebiao:
    print(f"{shangpin}")
print("------".center(50,"-"))
#购买商品
mai=True #设置一个标志位,用户不再购买时,结束程序
money=0 #购买商品花的钱
mddxl=[] #存放已经购买的商品
while mai==True:
    mddx = input("输入您要买的东西的编号:")

    # 第一次判断输入的编号是否合法
    if not mddx.isdigit():
        print("输入编号不合法!")
    else:
        mddx = int(mddx)

    # 第二次判断输入的编号是否在商品列表里
    for item in shangpinliebiao:
        if mddx == item[0]:
            money += item[2]  # 如果在列表里,加钱
            mddxl.append(item)  # 存入已经买的东西
            break #找到购买的商品,结束本次循环
    else:
        print("抱歉,您输入的商品编号不在商品列表中")

    #第三次判断购买的商品是否超过了工资
    if money > gongzi:  # 如果买的东西超过了工资,退出程序
        mai == False
        print("您的工资不够了")
        break

    # 判断是否继续购买
    yiyuan = input("请问您还要继续购买吗?继续购买请输入yes,退出程序请输入no:")
    if yiyuan == "yes":
        mai = True
    else:
        mai = False

#遍历购买的商品列表并打印
print("已经购买的商品列表".center(50,"-"))
quchongqian=[]
quchonghou=[]
for goumai in mddxl:
    cishu=mddxl.count(goumai)
    quchongqian.append([goumai,cishu])
for goumai1 in quchongqian:
    if not goumai1 in quchonghou:
        quchonghou.append(goumai1)
for q in quchonghou:
    print(q)
print(f"您一共消费{money},您还剩{gongzi-money}")
print("------".center(50,"-"))

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/923018.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存