python学生选课系统简单封装_python实现学生选课系统 面向对象的应用:

本文介绍了一个用Python实现的学生选课系统,系统包括管理员和学生两个角色。管理员可以创建老师和课程,学生可以选课、上课并查看课程信息。系统利用pickle模块进行数据持久化,通过配置文件管理数据存储路径。课程和老师之间有明确的关联,且实现了资产增减功能。
摘要由CSDN通过智能技术生成

一、要求: 选课系统

管理员:

创建老师:姓名、性别、年龄、资产

创建课程:课程名称、上课时间、课时费、关联老师

使用pickle保存在文件

学生:

学生:用户名、密码、性别、年龄、选课列表[]、上课记录{课程1:【di,a,】}

1、列举所有课程

2、选择课程

3、学生上课,

4、ret = 课程.work() 获取课程的返回; 资产+=课时费

二、代码思路

1.类的关联:

a、Teacher类:关联管理员,由哪个管理员创建

b、 Course类:关联老师对象、管理员对象(注意:关联的是对象)

2.文件的写入:

a、管理员文件:写入的是管理员对象(封装管理员的用户名和密码)

b、学生文件:写入的是学生对象(封装了学生已选课程列表,已经上过的课程字典:key:课程对象 value:上课信息列表,是列表格式)

c、课程列表course_list、老师列表teacher_lis,都是列表格式。

三、文件概述

bin目录:存放administrator.py文件和students.py文件

config目录:存放settings.py文件,即配置文件

db目录:存放与数据相关的文件,包括课程列表course_list、老师列表teacher_list、学生文件夹、管理员文件夹

lib目录:存放models.py文件,即存放公共的模块

log目录:存放日志文件

四、代码实现

4.1配置文件settings.py

import os

BASE_DIR = os.path.dirname(os.path.dirname(__file__)) #配置文件的上级目录

BASE_ADMIN_DIR = os.path.join(BASE_DIR, "db", "admin") #管理员目录

BASE_STUDENTS_DIR = os.path.join(BASE_DIR, "db", "students") #学生目录

TEACHER_DB_DIR = os.path.join(BASE_DIR, "db", "teacher_list") #老师列表目录

COURSE_DB_DIR = os.path.join(BASE_DIR, "db", "course_list") #课程列表目录

4.2公共模块modules.py

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import random

import time

import pickle

from config import settings

import os

class Teacher:

"""

封装老师的相关信息

"""

def __init__(self, name, age, admin):

self.name = name

self.age = age

self.__assets = 0

self.create_time = time.strftime('%Y-%m-%d %H:%M:%S')

self.create_admin = admin

def gain(self, cost):

"""

增加资产

:param cost: 增加的数量

:return:

"""

self.__assets += cost

def decrea

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值