直接上需求:
购物车程序
需求
启动程序后,让用户输入工资,然后打印商品列表
允许用户根据商品编号购买商品
用户选择商品后,检查余额是否足够,够就直接扣款,不够就提醒
可以随时退出,退出时,打印已购买商品和余额
一个比较简单的程序,使用列表操作写的,写了六个函数
Abnormal() 通过抛出异常来判断输入的编号是否合法
Commodity()取出该商品参数 名称 价格
AddShoppingCart() 添加到购物车
Shopping() 判断工资能否购买该商品,能的话加入到购物车
PrintLibray() 打印列表清单
PrintPurchase()退出时打印购买清单
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: linghanchujian """ 购物车程序 需求 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检查余额是否足够,够就直接扣款,不够就提醒 可以随时退出,退出时,打印已购买商品和余额 """ isWhile = True CommodityLibray = [["IPhone",5800],["Mac Pro",12000],["Starbuck Latte",31],["Alex Python",81],["Bike",800]] ShoppingCart = [] #购物车 balance = -1 #余额 """ 通过抛出异常来判断输入的编号是否合法 """ def Abnormal(Num): try: int(Num) return True except ValueError: print() return False pass """ 取出该商品参数 """ def Commodity(num,Libray,Number): for i,j in enumerate(Libray): if i==Number: return j[num] pass """ 添加到购物车 """ def AddShoppingCart(Money,Number): global balance Librys = [] if Money >= Commodity(1, CommodityLibray, Number): balance = Money - Commodity(1, CommodityLibray, Number) Librys.append(Commodity(0, CommodityLibray, Number)) Librys.append(Commodity(1, CommodityLibray, Number)) ShoppingCart.append(Librys) print("已添加到购物车!!") else: print("余额不足!!") pass """ 判断工资能否购买该商品,能的话加入到购物车 """ def Shopping(Wages,Number): if balance == -1: AddShoppingCart(Wages, Number) else: AddShoppingCart(balance, Number) pass """ 打印列表清单 """ def PrintLibray(Libray): if len(Libray) != 0: Str = "" for i, j in enumerate(Libray): Str = str(i + 1) + "、 " for n, b in enumerate(j): Str += str(b) + " " print(Str) pass """ 退出时,打印购买的东西 """ def PrintPurchase(StrInput): if StrInput == "n": if len(ShoppingCart) == 0: exit() else: print("已购买清单如下: ") PrintLibray(ShoppingCart) print("剩余余额:"+str(balance)) exit() pass Wages = input("请输入工资(n 退出): ") PrintPurchase(Wages) if Abnormal(Wages): if int(Wages)<=0 : print("工资不能少于0") exit() else: print("工资不合法!!") while isWhile: PrintLibray(CommodityLibray) CommodityNumber = input("请选择商品编号(n 退出): ") PrintPurchase(CommodityNumber) if Abnormal(CommodityNumber) : if int(CommodityNumber)>0 and int(CommodityNumber)<int(len(CommodityLibray)+1) : if balance == -1: Shopping(int(Wages),int(CommodityNumber)-1) else: Shopping(balance, int(CommodityNumber)-1) continue else: print("编号必须在0~~"+str(len(CommodityLibray)+1)+"之间!!") continue else: print("编号不合法!!") continue isWhile=False
时间: 2024-11-05 12:32:58