with open('history', 'r+', encoding='utf-8') as file_history: data = file_history.read().strip() data = eval(data) run_flag = True while run_flag: username = input('请输入账号:\t') password = input('请输入密码(新用户随意输入):\t') if username in data: #老用户操作 if password.isdigit(): password = int(password) if password == data[username]['密码']: print("\033[41;1m欢迎登陆:{name},当前余额{money}\033[0m".format(name=username, money=data[username]['余额'])) while True: choice_1 = input('请输入你要进行的操作:\n1.查看购物历史记录\n2.购物\n------->>>\t') if choice_1.isdigit(): choice_1 = int(choice_1) if choice_1 == 1: print('\033[32;1m-----历史购物清单------\n商品 价格\033[0m') for i in data[username]['消费记录']: print(i, data[username]['消费记录'][i]) print('\033[32;1m----------end----------\033[0m') elif choice_1 == 2: break else: print('无效选项!') else: print('输入有误,请重新输入!') else: print('密码错误!') continue else: print('请输入正确的字符!') else: #新用户操作 data[username] = {'密码': 0, '余额': 0, '消费记录': {}} password_new = int(input('请输入你的注册密码:\t')) data[username]['密码'] = password_new money = int(input('请输入你的余额:\t')) data[username]['余额'] = money print('\033[41;1m欢迎登陆:{name},当前余额{money}\033[0m'.format(name=username, money=money)) #登陆结束 goods = [ {"name": "电脑", "price": 1999}, {"name": "鼠标", "price": 10}, {"name": "游艇", "price": 20}, {"name": "美女", "price": 998}, {"name": "红茶", "price": 3} ] money = data[username]['余额'] shopping_car = [] while run_flag: print('\033[32;1m-----商品列表------\n序号 商品 价格\033[0m') for i,j in enumerate(goods): print('\033[31;1m{num} {name} {price}\033[0m'.format(num=i, name=goods[i]['name'], price=goods[i]['price'])) choice_2 = input('\033[32;1m游艇美女和红茶,亲爱的乡亲要买啥?\n(退出按Q)--->\t\033[0m') #选择商品 if choice_2.isdigit(): choice_2 = int(choice_2) if choice_2 < len(goods) and choice_2 >= 0: if goods[choice_2]['price'] <= money: money -= goods[choice_2]['price'] shopping_car.append(goods[choice_2]) print('\033[31;1m你购买了:\n{name}\t{price}\033[0m'.format(name=goods[choice_2]['name'], price=goods[choice_2]['price'])) print('\033[31;1m你的余额:{money}\033[0m'.format(money=money)) else: print('余额不足,无法购买!') else: print('序号对应商品不存在!') elif choice_2 == 'Q' or choice_2 == 'q': if len(shopping_car) == 0: print('不买瞎看什么!') break else: print('\033[32;1m-----当前购物清单------\n商品 价格\033[0m') for info in shopping_car: #info是购物车列表中的每个商品字典 for k in info: #k是商品字典中的key print('\033[32;1m{name} {price}\033[0m'.format(name=k,price=info[k])) print('\033[31;1m本次消费金额:{money}\033[0m'.format(money=data[username]['余额'] - money)) print('\033[32;1m余额:{money}\033[0m'.format(money=money)) data[username]['余额'] = money for dic in shopping_car: data[username]['消费记录'][dic['name']] = dic['price'] data_new = str(data) f = open('history', 'r+', encoding='utf-8') f.write(data_new) f.close() run_flag = False else: print('输入有误!')
商城购物车
猜你喜欢
转载自www.cnblogs.com/quegai18/p/9336808.html
今日推荐
周排行