【python 项目】选课系统

该博客介绍了使用Python构建一个选课系统的详细过程,包括角色定义(学校、学生、讲师)、课程与学校的关联、班级创建、数据序列化等功能。通过分析和实现各个视图接口,如学生、教师和学校视图,最终完成系统的搭建。源码分为多个模块,如start.py、settings.py、main.py等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序要求:

1.角色:学校,学生,讲师

2.创建北京、上海两所学校(通过学校实例)

3.创建Linux、python、go三个课程,Linux、python在北京开设,go在上海开设

4.课程包括周期、价格,通过学校创建课程

5.通过学校创建班级,班级关联课程、讲师

6.创建学生时,选择学校,关联班级

7.创建讲师角色时要关联学校

8.产生的数据通过pickle序列化保存在文件里

分析

要实现三个角色(学生、老师、学校),那么要有三个视图接口,还要有一个初视图让用户选择要以哪个角色进入

学生视图:

学生进入学生视图,输入要进入的学校,学生姓名,年龄,班级(由于班级与课程绑定,即哪个班级就是学习什么科目已经事先订好了,所以不用输要学习的科目了),之后学生注册成功

教师视图:

教师进入教师视图,先输入教师姓名,之后可以查询自己所带的班级及学生等信息

学校视图:

学校管理人员进入学校视图,先选择管理哪个学校,之后可以创建班级,创建讲师,创建课程

过程

一、目录创建

二、main.py中一共有四个类,分别是初视图与三个视图接口

他们类下的每个方法分别实现我们刚才分析的功能,具体初始化和细节在模块中实现。

源码

 

start.py

import platform
import os
import sys


if platform.system() == "Windows":
    BASE_DIR="\\".join(os.path.abspath(os.path.dirname(__file__)).split("\\")[:-1])
else:
    BASE_DIR = "/".join(os.path.abspath(os.path.dirname(__file__)).split("/")[:-1])

sys.path.insert(0,BASE_DIR)#添加环境变量

from core import main
if __name__ == "__main__":
    obj= main.Manage_center()
    obj.run()

setings.py

import platform
import os
import sys

if platform.system() == "Windows":
    BASE_DIR = "\\".join(os.path.abspath(os.path.dirname(__file__)).split("\\")[:-1])
    database_path=os.path.join(BASE_DIR,"database")  #数据库路径
else:
    BASE_DIR = "/".join(os.path.abspath(os.path.dirname(__file__)).split("/")[:-1])
    database_path = os.path.join(BASE_DIR, "database")
sys.path.insert(0, BASE_DIR)

school_db_file=os.path.join(database_path,"school")

main.py

"""
主程序
"""

import sys
import os
import shelve

from conf import settings
from modules.school import School

"""初界面"""
class Manage_center(object):
    def __init__(self):
        pass

    def run(self):
        while True:
            print(
                """
                -------------欢迎进入选课系统---------------
                1.学生视图
                2.教师视图
                3.学校视图
                e.退出选课系统
                """
            )
            user_choice=input("\033[34;0m
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值