有bug,没找出来
"""
要求:
1,输入用户名,密码,工资,打印商品列表
2,允许用户根据商品编号购买商品
3,用户选择商品后,检测余额是否足够,够就扣款,不够就提醒
3,可随时退出,退出时,打印已购买的商品和余额
4,在用户使用过程中,关键输出,如余额,商品已加入购物车等消息,需高亮显示
拓展需求
1,用户下一次登录后,输入用户名面膜,直接回到上次登录状态,即上次
消费的余额等,可再次继续购买,
2,允许查询之前的消费记录
"""
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}
]
shopping_cart = []
_username = 'abc'
_password = '123'
#33[1;34m+name+33[0m
'''
33[
1:表示加深,0表示正常显示,2表示减弱,也是背景色
40: 黑 41: 红 42: 绿 43: 黄 44: 蓝 45: 紫 46: 绿 47: 白
34m:表示蓝色,是字体颜色
30: 黑 31: 红 32: 绿 33: 黄 34: 蓝 35: 紫 36: 绿 37: 白
第三个参数:代表显示效果 ,当不需要背景色,也可以用于参数1位置
0:不使用效果 1:高亮(加深)显示 2:低亮(减弱)显示
4:下划线 5:闪烁 7:反显(替换背景色和字体颜色)
8:消隐
33[0m:表示结束
print('33[41;32;5m 闪光33[0m') #闪光字符,在windows里面没有测试出效果,在pycharm里面没有效果,在linux里面测试出效果
print('07响一声!33[0m') #发出声音 在windows里面测试出效果,在pycharm里面没有效果,在linux里面测试出效果
print('33[43;34;4m 下划线33[0m')
print('33[45;36;7m 反显33[0m')
print('33[47;31;8m 消隐33[0m') #看不到了
'''
while True:#用户名密码循环
username = input("输入用户名:").strip()
password = input("输入密码:").strip()
if username == _username and password == _password:
print("33[1;34m-----登录成功,欢迎%s33[0m"%username)
while True:#工资循环
salary = input("输入工资:").strip()
if not salary:
continue
if salary.isdigit():
salary = int(salary)
while True:#商品列表循环
print("-----商品列表-----")
for index, i in enumerate(goods):
print("%s %s %s "%(index, i["name"], i["price"]))
choice = input("输入商品编号|退出q:").strip()
if not choice:#如果条件choice结果不为真,
continue
if choice.isdigit():
choice = int(choice)
if choice < len(goods):
if salary >= goods[choice]["price"]:
shopping_cart.append([goods[choice]['name'], goods[choice]['price']])
print("33[1;32m>你购买了%s33[0m"%goods[choice]["name"])
salary -= goods[choice]["price"]
print("33[1;31m>余额剩余%s33[0m"%salary)
else:
print("33[1;31;47m余额不足,请重新选择33[0m")
else:
print("33[1;34m你输入的商品不存在33[0m")
elif choice == "q":
if len(shopping_cart) > 0:
print("33[1;34m-----你的购物车-----")
for index, i in enumerate(shopping_cart):
print(index, i[0], i[-1])
print("------------------")
print("你的余额:%s33[0m"%salary)
exit()
else:
print("33[1;34;47m你的购物车为空,你的余额:%s33[0m"%salary)
exit()
else:
print("33[1;34;47m你输入有误,请重新输入33[0m")
else:
print("33[1;31m你输入有误,请重新输入33[0m")
else:
print("33[1;31;47m用户名或者密码错误33[0m")