商城购物车

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
今日推荐