zoukankan      html  css  js  c++  java
  • 这大概才是真正的选课系统

    # 选择职业
    # 能登陆
    # 能注册
    # 能退出
    # 能查已经报名的科目
    # 能报名
    import time
    
    course_dict = {
        '1': '高等数学',
        '2': 'photoshop的使用',
        '3': 'C语言的学习',
        '4': '面向对象程序设计',
        '5': '心理课',
        '6': 'Unity游戏制作',
    }
    course_list = {}
    id_dict = {
        '1': 'student',
        '2': 'teacher',
        '3': 'administrator',
    }
    ids = '''
    1:student
    2:teacher
    3:administrator
    '''
    
    username_list = []
    
    
    def log_deco(func):
        def wrapper(*args, **kwargs):
            print(f"你是什么职业?{ids}")
            clas = input("")
            if clas not in id_dict:
                print("你是什么东西?重输好吗?")
            else:
                global x
                x=id_dict[clas]
    
            res = func(*args, **kwargs)
            return res
    
        return wrapper
    # print(x)
    
    def inp_username_pwd():
        username_inp = input('请输入你的用户名')
        pwd_inp = input('请输入你的密码')
        return username_inp, pwd_inp
    
    
    @log_deco
    def login():
        print('欢迎来到登陆系统')
        if username_list:
            print("你已经登陆了哦,别再登陆了")
            return
    
        count = 0
        while count < 3:
            username_inp, pwd_inp = inp_username_pwd()
    
            with open(f'{x}info.txt', 'r', encoding='utf8') as fr:
                for use_info in fr:
                    use_info = use_info.strip()
                    username, pwd = use_info.split(':')
    
                    if username == username_inp and pwd == pwd_inp:
                        print("登陆中", end="")
                        for i in range(5):
                            print(".", end='')
                            time.sleep(0.2)
                        print(".")
                        print('成功登陆')
                        username_list.append(username_inp)
                        return
                else:
                    print('由于一些原因,登陆失败了')
                count += 1
    
    @log_deco
    def register():
        print('欢迎来注册')
        username_inp, pwd_inp = inp_username_pwd()
    
        with open(f'{x}info.txt', 'a', encoding='utf8')as fa:
            fa.write(f'{username_inp}:{pwd_inp}
    ')
    
    
    def check():
        if not username_list:
            print("请登陆之后再来哦")
            return
        print('欢迎来看报名情况呀')
        print("正在进入选课查看", end="")
        for i in range(5):
            print(".", end='')
            time.sleep(0.2)
        print(".")
        with open('choosed_course', 'r', encoding='utf8')as fr:
            data = fr.read()
            print(data)
            print('
    ')
    
    
    def report():
        print("你来选课啦!要选两门课哦!")
        if not username_list:
            print("请登陆之后再来哦")
            return
    
        print('''
        1.高等数学
        2.photoshop的使用
        3.C语言的学习
        4.面向对象程序设计
        5.心理课
        6.Unity游戏制作
         ''')
        choose_count = 0
        while choose_count < 2:
            course_choice = input("请输入你想要选择的科目的数字")
            if course_choice not in course_dict:
                print('请输入列表里有的科目哦')
                continue
    
            course_name = course_dict[course_choice]
            if course_name in course_list:
                course_list[course_name] += 1
                choose_count += 1
            else:
                course_list[course_name] = 1
                choose_count += 1
            print(f'成功选择{course_name},你一共选择了{course_list}')
            with open('choosed_course', 'a', encoding='utf8')as fa:
                fa.write(f'{username_list}:{course_name}
    ')
    
    
    func_dice = {
        '1': login,
        '2': register,
        '3': check,
        '4': report,
    
    }
    while True:
        print('''
         1  登陆
         2  注册
         3  查看报了啥
         4  选课
         q  退出
        ''')
        func_choice = input('请输入你想要进行的操作(输入q退出):')
        if func_choice == 'q':
    
            print("正在退出", end="")
            for i in range(5):
                print(".", end='')
                time.sleep(0.2)
            print(".")
            break
        if func_choice not in func_dice:
            print("你看不懂中国字吗")
            continue
        func_dice[func_choice]()
    
    
  • 相关阅读:
    【181】IDL 代码从 Windows 转移到 Linux
    异步加载图片到GridView上,防止OOM
    10881
    AngularJS的开发工具---yeoman 简易安装
    AIX操作oracle
    hdu2817 A sequence of numbers
    FZU 2104 (13.11.28)
    HDU 1231 (13.12.2)
    Java 23种设计模式详尽分析与实例解析之一--创建型模式
    JSP视频
  • 原文地址:https://www.cnblogs.com/jimGraymane/p/11584982.html
Copyright © 2011-2022 走看看