步骤:
-
打印商品内容
-
引导用户选择商品
-
验证输入是否合法
-
将用户选择商品通过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知识和【免费】工具
