069❤函数基础实战之ATM购物车系统

一、需求分析

主要功能:
    1  登录
    2  注册
    3  注销
    4  购物
    5  查看购物车
    6  退出系统

二、系统代码

# 定义用户信息列表
username_list = []

# 定义商品字典
prize_dict = {
    '0': '《Python全栈开发》',
    '1': '《Linux自动化运维》',
    '2': '《Go语言实战开发》',
    '3': '《Docker教程》',
    '4': '《前端开发》',
    '5': '《爬虫教程》'
}

# 定义购物车字典
shopping_car_dict = {}


# 定义全局用户
def inp_username_pwd():
    username_inp = input('请输入你的用户名:').strip()
    pwd_inp = input('请输入你的密码:').strip()
    return username_inp, pwd_inp


# 定义登录功能
def login():
    print('欢迎来到登陆功能')
    if username_list:
        print('已经登录,请勿重复登录')
        return

    count = 0
    while count < 3:
        username_inp, pwd_inp = inp_username_pwd()

        with open('user_info.txt', mode='r', encoding='utf-8')as fr:
            for user_info in fr:
                user_info = user_info.strip()
                username, pwd = user_info.split(':')

                if username == username_inp and pwd == pwd_inp:
                    print('login successf')
                    username_list.append(username_inp)
                    return
                else:
                    print('login fiel')

                count += 1


# 定义注册功能
def register():
    print('欢迎来到注册功能')

    username_inp, pwd_inp = inp_username_pwd()

    with open('user_info.txt', mode='w', encoding='utf-8')as fa:
        fa.write(f'{username_inp}:{pwd_inp}')


# 判断是否有用户登录
def user_check():
    if not username_list:
        print('请先登录后再使用该功能')
        return


# 定义注销功能
def logout():
    # if not username_list:
    #     print('请先登录后再使用该功能')
    #     return
    user_check()

    print('欢迎来到注销功能')
    ask = input('注销按y/Y,返回主界面按q。是否要进行注销?')
    if ask == 'q':
        pass
    else:
        username_list.clear()


# 定义购物功能
def shopping():
    print('欢迎来到祥云购物商城')

    # if not username_list:
    #     print('请先登录后再使用该功能')
    #     return
    user_check()

    print('''
    0  : 《Python全栈开发》
    1  : 《Linux自动化运维》
    2  : 《Go语言实战开发》
    3  : 《Docker教程》
    4  : 《前端开发》
    5  : 《爬虫教程》
''')

    prize_choice = input('请输入你需要购买的商品的编号:').strip()
    prize_name = prize_dict[prize_choice]

    if prize_name in shopping_car_dict:
        shopping_car_dict[prize_name] += 1
    else:
        shopping_car_dict[prize_name] = 1

    print(f'成功购买:{prize_name},当前购物车内容为:{shopping_car_dict}')


# 定义购物车功能
def shopping_car():
    # if not username_list:
    #     print('请先登录后再使用该功能')
    #     return
    user_check()

    print('您已完成购买')
    print(f'购买物品为:{shopping_car_dict}')
    shopping_car_dict.clear()


# 定义功能字典
func_dict = {
    '1': login,
    '2': register,
    '3': logout,
    '4': shopping,
    '5': shopping_car,
}

# 程序入口
while True:
    print('''
    1 登录
    2 注册
    3 注销
    4 购物
    5 查看购物车
    q 退出
    ''')
    func_choice = input('请选择你要是用的功能:').strip()
    if func_choice == 'q':
        break

    if func_choice not in func_dict:
        print('输入的指令不存在!')
        continue
    func_dict[func_choice]()
posted @ 2020-09-10 23:48  AShine^_^  阅读(96)  评论(0)    收藏  举报