python练习三
- 用户可输入账号余额
- 打印商品列表
- 选择商品编号
- 判断余额是否可以购买商品
- 退出程序时打印所购买的商品列表
# Author:Roach
# -*- coding: utf-8 -*-
comm_list = ["commodity_list",["iPhone",5900],["Mac Pro",12800]] # 编写商品列表
shopping_cart = [] # 购物车列表,购买的物品存入
balance = input("请输入账户余额:") # 用户输入账户余额
if balance.isdigit(): # 判断用户输入的是否为一个整数
balance = int(balance) # 将输入的数字转换为int类型
while True: # 进入循环
# for index,j in enumerate(comm_list): # enumerate读取列表中的下标,for index,j 可以读取两个参数
# print(index,j)
count = 0 # 计数器
for i in comm_list[1:]: # 循环读取商品列表中的商品
count += 1 # 进行计数,对应商品前编号
print(count,i[0],"\t\t",i[1]) # 打印商品列表,编号-商品名称-价钱
shopping_nume = input("请输入需要购买的商品编号:") # 输入需要购买的商品编号
if shopping_nume.isdigit(): # 判断输入的是否为一个整数
shopping_nume = int(shopping_nume) # 将输入的数字转换为int格式
if shopping_nume < len(comm_list) and shopping_nume >0: # 判断输入的数字是否比0大并且比小于列表长度
p_item = comm_list[shopping_nume] # 读取购买的商品列表
if balance > p_item[1]: # 判断账户余额是否大于该商品的价格
shopping_cart.append(p_item) # 将购买的商品列表添加至购物车列表
balance -= p_item[1] # 当前余额等于余额减商品价格
print("已在购物车中添加商品%s,您的余额剩余\033[31;1m%s!\033[0m" % (p_item[0],balance)) #输出所购买的商品及剩余余额
else:
print("\033[41;1m当前余额不足!!!剩余余额%s\033[0m" % balance) # 输出余额不足购买该商品
else:
print("不存在此商品[%s]!请重新选择!" % shopping_nume) # 输出所输入的商品编号不存在与商品列表中
elif shopping_nume == 'q': # 如果输入的为"q",则退出商品购买列表,并打印购买的商品,及所剩余余额
print("-------购买商品列表-------")
for p in shopping_cart: # 读取购物车列表所购买的商品
print(p[0]) # 打印购买商品
print("你的余额为%s"% balance) # 输出剩余余额
print("-------退出商品列表-------")
exit() # 退出程序
else: # 错误选项输出
print("invalid option")