步骤:
打印商品内容
引导用户选择商品
验证输入是否合法
将用户选择商品通过choice取出来
如果钱够,用本金saving减去该商品价格
将该商品加入购物车
循环遍历购物车里的商品,购物车存放的是已买商品
product_list=[('Mac电脑',9500),('windows电脑',800),('法拉利',8800000),('python入门教程',100),('华为',6000),]saving=input('please input your money:')shopping_car=[]if saving.isdigit():saving=int(saving)while True:#打印商品内容for i,v in enumerate(product_list,1):print(i,'>>>>',v)#引导用户选择商品choice=input('选择购买商品编号[退出:q]:')#验证输入是否合法if choice.isdigit():choice=int(choice)if choice>0 and choice<=len(product_list):#将用户选择商品通过choice取出来p_item=product_list[choice-1]#如果钱够,用本金saving减去该商品价格,并将该商品加入购物车if p_item[1]<saving:saving-=p_item[1]shopping_car.append(p_item)else:print('余额不足,还剩%s'%saving)print(p_item)else:print('编码不存在')elif choice=='q':print('------------您已经购买如下商品----------------')#循环遍历购物车里的商品,购物车存放的是已买商品for i in shopping_car:print(i)print('您还剩%s元钱'%saving)breakelse:print('invalid input')
运行输出结果:
please input your money:100000001 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:1('Mac电脑', 9500)1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:1('Mac电脑', 9500)1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:1('Mac电脑', 9500)1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:2('windows电脑', 800)1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:3('法拉利', 8800000)1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:3余额不足,还剩1170700('法拉利', 8800000)1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:1('Mac电脑', 9500)1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:4('python入门教程', 100)1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:5('华为', 6000)1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:6编码不存在1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:7编码不存在1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:1('Mac电脑', 9500)1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:1*4invalid input1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:3余额不足,还剩1145600('法拉利', 8800000)1 > ('Mac电脑', 9500)2 > ('windows电脑', 800)3 > ('法拉利', 8800000)4 > ('python入门教程', 100)5 > ('华为', 6000)选择购买商品编号[退出:q]:q------------您已经购买如下商品----------------('Mac电脑', 9500)('Mac电脑', 9500)('Mac电脑', 9500)('windows电脑', 800)('法拉利', 8800000)('Mac电脑', 9500)('python入门教程', 100)('华为', 6000)('Mac电脑', 9500)您还剩1145600元钱Process finished with exit code 0
欢迎关注公众号:Python爬虫数据分析挖掘,回复【开源源码】免费获取更多开源项目源码
公众号每日更新python知识和【免费】工具

本文分享自微信公众号 - Python爬虫数据分析挖掘(zyzx3344)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4638454/blog/4651568