zoukankan      html  css  js  c++  java
  • 实战----购物车day11

    Python day11

    #简易购物车
    function_msg = '''    
        1 登录
        2 注册
        3 注销
        4 购物
        5 购物车
        q 退出'''
    
    goods_dict = {
        '0': "芭比娃娃",
        '1': "变形金刚",
        '2': "psp游戏机",
        '3': "奥特曼",
        '4': "遥控飞机",
        '5': "chongqiwawa",
    }
    
    goods_msg = '''    
        0 芭比娃娃
        1 变形金刚
        2 psp游戏机
        3 奥特曼
        4 遥控飞机
        5 chongqiwawa'''
    
    user_info_list = []
    goodscar_dict = {}
    
    def get_inp():
        '''用户交互'''
        username_inp = input('请输入用户名:')
        pwd_inp = input('请输入密码:')
        return username_inp,pwd_inp
    
    def login():
        '''登录功能'''
        if user_info_list:
            print('已登录!!')
            return
        login_count = 0
        while login_count < 3:
            username_inp,pwd_inp = get_inp()
            with open('user_info.txt', 'r', encoding='utf8') as fr:
                for user_info in fr:
                    user_info = user_info.strip()
                    username, pwd = user_info.split(':')
                    if username_inp == username and pwd_inp == pwd:
                        print('登陆成功!')
                        user_info_list.append(username_inp)
                        return
                else:
                    print('账号密码错误,请重新输入!')
    
                login_count += 1
    
    def register():
        '''注册功能'''
        register_count = 0
        while register_count <1:
            username_inp, pwd_inp = get_inp()
            if ':' in username_inp or ':' in pwd_inp:
                print('用户名密码中不能含有":",请重新输入!')
            else:
                with open('user_info.txt', 'a', encoding='utf8') as fa:
                    fa.write(f'{username_inp}:{pwd_inp}
    ')
                    fa.flush()
                    print('注册成功!')
                    register_count = 1
                    
    def logout():
        '''注销用户'''
        if not user_info_list:
            print('请先登录!!')
            return
        user_info_list.clear()
        print('您已注销登录!!')
    
    def shopping():
        '''购物'''
        if not user_info_list:
            print('请先登录!!')
            return
        goods_count = 0
        while goods_count < 1:
            print(goods_msg)
            get_goods = input('请选择要购买的商品:')
            if not get_goods in goods_dict:
                print('请选择正确的商品!')
                continue
            else:
                goods = goods_dict[get_goods]
                if goods in goodscar_dict :
                    goodscar_dict[goods] += 1
                    print(f'{goods}已加入购物车,
    购物车:{goodscar_dict}')
                    return
                else:
                    goodscar_dict[goods] = 1
                    print(f'{goods}已加入购物车,
    购物车:{goodscar_dict}')
                    return
    
    def shoppingcar():
        '''购物车'''
        if not user_info_list:
            print('请先登录!!')
            return
        print(f'恭喜{user_info_list}已购买{goodscar_dict},祝您购物愉快!!')
        goodscar_dict.clear()
    
    
    function_dic = {
        '1': login,
        '2': register,
        '3': logout,
        '4': shopping,
        '5': shoppingcar
    }
    
    while 1:
        print(function_msg)
        if user_info_list:
            print(f'{user_info_list},欢迎您的光临!!')
        function_choice = input('请选择功能:')
        if function_choice == 'q':
            break
        if not function_choice in function_dic:
            print('请选择以上的功能!')
            continue
    
        function_dic[function_choice]()
    
  • 相关阅读:
    第4月第1天 makefile automake
    第3月30天 UIImage imageWithContentsOfFile卡顿 Can't add self as subview MPMoviePlayerControlle rcrash
    第3月第27天 uitableviewcell复用
    learning uboot fstype command
    learning uboot part command
    linux command dialog
    linux command curl and sha256sum implement download verification package
    learning shell script prompt to run with superuser privileges (4)
    learning shell get script absolute path (3)
    learning shell args handing key=value example (2)
  • 原文地址:https://www.cnblogs.com/samoo/p/11558993.html
Copyright © 2011-2022 走看看