python 3.6练习题(仿购物车)
opop = [
('Iphone', 9800),
('Bike', 800),
('Mac Pro', 12000), #定义商品列表
('Pyhon book', 120),
('Telas', 429800),
('Memory', 7000),
('hard', 4000),
('Upan', 90),
]
shopping_list = []
salary = input("请输入你的工资: ") #输入工资
if salary.isdigit(): #判断输入的是不是数字
salary = int(salary) #将工资转换为整形
while True: #死循环入口
for index, item in enumerate(opop): #打印商品列表,同时把下标也打印出来
print(index, item)
user_choice = input("---> 请输入你要买的商品编号: ") #让用户选择买什么商品
if user_choice.isdigit(): #判断用户输入是不是数字类型
user_choice = int(user_choice) #将用户输入的更改为整形
if user_choice < len(opop) and user_choice >= 0: #判断用户的输入是否大于列表的长度
p_item = opop[user_choice] #通过下标把商品取出来
if p_item[1] <= salary: #如果该商品价格小于当前的工资,表示买的起
shopping_list.append(p_item) #把取来的商品添加到已购买列表中
salary -= p_item[1] #从工资中自动扣钱,并打印出已买商品和工资所剩数目
print(" %s 已添加到购物车,您目前的余额还剩 \033[31;1m%s\033[0m 元\n\n" % (p_item, salary))
else: #买不起则执行该句
print("你的余额只剩 \033[41;1m%s\033[0m 元已不足购买该商品\n\n" % salary)
else:
print("---> 该商品不存在 <---")
break
elif user_choice == 'q':
print('-'*20, "已购买清单", '-'*20)
for i in shopping_list:
print(i)
print("您的当前余额还剩: ", salary)
exit()
else:
print("invalid option")
----------------------------------- 片段解释分割线 -----------------------------------
while True下面的enumerate语法示例:
a = [1,2,3]
for i in enumerate(a):print(i)
输出结果:(把列表的下标都打印出来)
(0, 1)
(1, 2)
(2, 3)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」