#购物车程序 # 需求: # (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,"-"))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)