需求:
1、启动程序后,让用户输入工资,然后打印商品列表
2、允许用户根据商品编号购买商品
3、用户选择商品后,检查余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时,打印已购买商品和余额
Python代码实现如下:
# -*- coding: UTF-8 -*-
product_list = [
("Iphone",6888),
("Mac pro",9500),
("iwatch",10800),
("bike",960),
("book",56),
]
shopping_list = []
salary = input("input your salary:")
if salary.isdigit():
salary = int(salary)
while True:
for index,item in enumerate(product_list):
print(index,item)
user_choice = input("选择要买吗?》》》:")
if user_choice.isdigit():
user_choice = int(user_choice)
if user_choice < len(product_list) and user_choice >=0:
p_item = product_list[user_choice]#获取商品价格下标
if p_item[1] <=salary: #买的起
shopping_list.append(p_item) #选好的放入购物车
salary -= p_item[1]
print("added %s into shopping cart,your current balance is \033[31;1m%s\033[0m"%(p_item,salary))
else:
print("\033[41;1m你的余额只剩[%s]啦,还买个毛线啊\033[0m"%salary) #"\033[41;1m,,,\033[0m"加入颜色显示
else:
print("product code [%s] is not exist!"%user_choice)
elif user_choice == "q":
print("----shopping_list----") #打印已买商品列表
for p in shopping_list:
print(p)
print("your current balance:",salary)
exit()
else:
print("invalid option")
else:
print("you input [%s] is not number!"%salary)