代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName :shopping.py
# @Time :2020/3/1 14:14
# @Author :anqixiang
# @Function :模拟购物车功能
'''
1.启动程序,输入工资,打印商品列表
2.用户根据商品编号选择商品
3.选择商品后,检测余额是否足够,够就付款,不够提示
4.选择q退出本次购物
5.选择b付钱,并打印商品和消费金额及余额
'''

def cecho(num,content):
print('\033[%sm%s\033[0m' %(num, content))

#商品列表
commodity = [
('Iphone', 8000),
('vivo', 4000),
('huawei', 3000)
]

#打印商品清单
def shopping_list():
print('%-10s%-8s%-12s' % ('序号', '名字', '价格'))
for index, value in enumerate(commodity):
print('%-12s%-10s%-8s' % (index, value[0],value[1]))
print("q: 退出")
print("b: 结账")

#购买商品
def choice_shop(salary):
balance = salary
shopping_trolley = [] #购物车商品
shopping_list()
while True:
choice = input("请选择你喜爱的商品:")
if choice == 'q':
cecho(92, "欢迎下次光临!")
break
elif choice.isdigit():
choice = int(choice)
if 0<= choice < len(commodity):
shop_item = commodity[choice]
if shop_item[1] > balance:
print("余额不足,当前余额为\033[31m%s\033[0m" % balance)
else:
balance = balance - shop_item[1]
print('%s加入购物车,余额为\033[31m%s\033[0m' % (shop_item[0], balance))
shopping_trolley.append(shop_item)
else:
cecho(31, '输入有误!!!')
elif choice == 'b':
if shopping_trolley == []:
print("您的购物车空空如也!")
else:
for i in shopping_trolley:
print('_' * 40)
print("您的购物清单如下:")
print('%-10s%-8s%-12s' % ('序号', '名字', '价格'))
for index, value in enumerate(shopping_trolley):
print('%-12s%-10s%-8s' % (index, value[0], value[1]))
print("商品总计%s,您的余额为%s" % (salary - balance, balance))
cecho(92, "欢迎下次光临!")
exit(0)
else:
cecho(31, '输入有误!!!')

if __name__ == "__main__":
salary = input("输入您的工资:")
if salary.isdigit():
salary = int(salary)
choice_shop(salary)
else:
cecho(31, '输入有误!!!')
run_code = 0

效果图

Python之模拟购物车_python