python-购物车游戏-主要是练习for while if
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:woshinidaye #shopping #启动程序输入自己的余额,然后打印所有商品列表; #允许用户根据商品编号购买商品 #用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒余额不足; #可随时退出,退出时,打印购买的商品信息,余额,花费 ''' money = int(input('how much do you have(元)?? ')) goods = [['鞋',80],['外套',200],['裤子',140],['帽子',47],['皮带',64],['墨镜',78],['袜子',32],['大保健',88]] #print(goods,len(goods)) your_choose = [] while money >= 0 : print('你想要购买什么,请输入商品名称前面的序号哟!') for i in range(len(goods)): print(i+1,':','\t','商品名称:',goods[i][0],'\t','价格:',goods[i][1]) print(len(goods)+1,':','\t','我不想买了,我要回家!!!') print(len(goods)+2, ':', '\t', '查看当前的购物车清单') choose = int(input('请输入你的选择:')) if choose == len(goods)+1: #选择退出选项 #for i in your_choose: # print(i) print('你购买了:',your_choose,'\t','你的余额还剩:',money) break elif choose == len(goods)+2: #选择查看清单选项 print('当前的购物车清单:',your_choose) continue elif choose <= len(goods): if money-goods[choose-1][1] >= 0: your_choose.insert(0,[goods[choose-1][0],goods[choose-1][1]]) #your_choose.append([goods[choose-1][0]) money = money - goods[choose-1][1] print('已经将',goods[choose-1][0],'成功加入购物车了!!!') #print(your_choose,money) else: print('你没钱了,去搬砖吧~~,要不你重新选择') continue else: print('你的输入有误,请重新输入!') #continue ''' product_list = [['鞋',80],['外套',200],['裤子',140],['帽子',47],['皮带',64],['墨镜',78],['袜子',32],['大保健',88]] salary = input('输入你的工资:') shopping_list = [] spend = 0 if salary.isdigit(): salary=int(salary) while True: #for item in product_list: # print(product_list.index(item)+11,item) for index,item in enumerate(product_list): print(index+1,item) print(len(product_list)+1,'查看当前购物车清单') print("\033[33;1m输入Q或者q即可退出\033[0m") user_choose = input('你需要购买啥??请输入商品编号:') if user_choose.isdigit(): user_choose = int(user_choose) if user_choose <= len(product_list) and user_choose > 0 : p_item = product_list[user_choose-1] if p_item[1] <= salary: #钱够 shopping_list.append(p_item) #salary = salary - p_item[1] spend = spend +p_item[1] salary -= p_item[1] #print('已将%s加入到购物车,当前你的余额为%s'%(p_item,salary)) print('已将%s加入到购物车,当前你的余额为\033[31;1m%s\033[0m'%(p_item,salary)) #高亮显示 else: print('\033[51;1m你的余额不足,只剩[%s],买不了了!!\033[0m' % (salary)) # 高亮显示 elif user_choose == len(product_list)+1: print('====当前购物车列表====') for i in shopping_list: print(i) print('================') print('结账:y or Y','\n','继续购物:gogogo') go_on = input('请问你需要购买的东西是否都加到了购物车??') if go_on == 'y' or go_on == 'Y' or go_on == 'yes' or go_on == 'Yes': print('======shopping list======') for i in shopping_list: print(i) exit(print('\033[034;1m你花费%s元,余额为%s\033[0m' % (spend, salary))) else: continue else: print('\033[052;1m你选择的商品不存在!!\033[0m') elif user_choose == 'q' or user_choose == 'Q': print('======shopping list======') for i in shopping_list: print(i) #print('\033[034;1m你花费%s元,余额为%s\033[0m'%(spend,salary)) #break exit(print('\033[034;1m你花费%s元,余额为%s\033[0m'%(spend,salary))) else: print('你的输入有误!!') print('======shopping list======') for i in shopping_list: print(i) exit(print('\033[034;1m你花费%s元,余额为%s\033[0m' % (spend, salary))) else: print('你的工资输入有误!bye~~~')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言