购物车程序——python
需求:
启动程序后让用户输入工资,打印商品列表,允许用户根据商品编号购买商品,
用户选择商品后根据余额扣款,余额不够则提醒,退出时,打印已购买商品及余额
源代码:
import sys print("提醒:整个过程中输入e即可退出") product = ["T_shirt", "dress", "hat"] price = [80, 98, 33] user_lst = [] # 用户已经购买的商品列表 user_money=input("输入工资:")#让用户输入工资 if user_money.isdigit():#判断输入是否为数字 user_moneynum = int(user_money) # 工资化为数字,方便计算 print("商品列表:")#打印商品列表 #i=0 for i,p in enumerate(product): print(i,p) #i+=1 elif user_money=="e":#判断用户是否想要退出 sys.exit() else: print("请输入数字") a=input("请输入想要商品的编号")#用户输入想要商品的编号 def account():#根据用户余额扣款 count = user_moneynum - int(price[int(a)]) print("您的余额为:",user_moneynum) if count < 0: print("余额不足,未能购买成功!")#余额不足 sys.exit() else: print("购买成功!您的目前余额为:\033[31;1m%s\033[0m"%count)#扣除商品价钱 user_lst.append(product[int(a)]) if a.isdigit(): if int(a)<=product.index(product[-1]):#判断用户输入的是否为商品列表中的数字 print("您挑选的商品是:",product[int(a)],price[int(a)]) account() elif a=="e":#用户退出 print("您已经购买了:",user_lst) print("您的余额为:",account().count) sys.exit() else: print("您挑选的商品不存在")
我自己写的看起来有些乱,在看了老师写的后,发现老师写的果然条理清晰,老师主要用的if语句嵌套,很整齐。我的程序有个问题,就是在用户购买成功之后不能继续购买其他商品了,我尝试了while True,可能是地方放的不对,试了几次都不是想要的效果,我认为是模式的问题,之后要返回来重新整整模式,这样在购买成功后就可以很容易知道要反复执行哪些内容,现在程序有些乱。
今天学会了改变字体的方法:把想要改变颜色的内容包裹在代码里
\033[31;1m%s\033[0m