2 -15 -1 购物车基本需求1

有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")
原文地址:https://www.cnblogs.com/Mobai-c/p/10464965.html