python123注册需要输入真实姓名和学校吗_Python 校园选课系统

面向对象作业——校园选课系统

角色:

学校、学员、课程、讲师

要求:

1. 创建北京、上海 2 所学校

2. 创建linux , python , go 3个课程 , linuxpy 在北京开, go 在上海开

3. 课程包含,周期,价格

4. 班级关联课程、讲师

5. 创建学员时,选择学校,关联班级

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

7. 提供三个角色视图

7.1 学员视图, 登陆, 查看课程、查看班级

7.2 讲师视图, 讲师可查看自己教学的班级、课程。

进阶需求:可管理自己的班级, 查看班级学员列表 , 修改所管理的学员的成绩

7.3 管理视图,创建讲师, 创建班级,创建课程

7. 上面的操作产生的数据都通过pickle序列化保存到文件里

一 、分析需求

创建北京、上海 2 所学校 分析:创建学校类

创建linux , python , go 3个课程 , linuxpy 在北京开, go 在上海开

分析:创建课程类,通过课程类去创建课程,并自动判断地点,当课程为go是地点为上海,为Linux或python时地点为北京

课程包含,周期,价格 分析:课程包含的周期、价格属性

班级关联课程、讲师 分析:可以创建班级的时候需输入关联的课程,创建讲师的时候需输入关联的班级;一个班级对应一个课程 一个班级对应一个讲师

创建学员时,选择学校,关联班级 分析:创建学员时需要输入所属的班级,并自动关联课程和学校

创建讲师角色时要关联学校 分析:创建教师时根据教师所教的课程自动关联学校

提供三个角色视图 分析:让用户可选择角色

7.1 学员视图, 登陆, 查看课程、查看班级 分析:学员角色可以有的功能

7.2 讲师视图, 讲师可查看自己教学的班级、课程。 分析:教师角色有的功能

进阶需求:可管理自己的班级, 查看班级学员列表 , 修改所管理的学员的成绩

7.3 管理视图,创建讲师, 创建班级,创建课程 分析:管理员有的功能

二、 readme(程序说明文件)

运行环境:python3.6

主程序为While 循环,先让用户选择角色,进入所需的角色后提示选择相应的功能

选择功能时必须先登录,如没有登录,则会跳转让用户登录

角色功能:

1 学生

(1)登录 (2)查看班级 (3)查看课程 (4)返回上层目录 (5)注销

2 教师

(1)登录 (2)查看所教的班级 (3)查看所教的课程 (4)查看班级学员 (5)返回上层目录 (6)注销

3 管理员

(1)登录 (2)创建学校 (3)创建班级 (4)创建讲师 (5)创建课程 (6)创建学员 (7)返回上层 (8)注销

程序说明:

1 函数initalize用来进行初始化,创建程序所需的文件

classinfo.txt 文件用来存放班级信息,

格式为:班级名=地点=课程=讲师

例如:s22=北京=python=taibai

courseinfo.txt 文件用来存课程信息

格式为:课程=周期=价格=地点

例如:python=6个月=9999=北京

managerinfo.txt 文件用来存管理员信息

格式为:用户名=密码

例如:admin=123

schoolinfo.txt 文件用来存学校信息

格式为:学校名=地点

例如:oldboy=北京

studentinfo.txt 文件用来存学生信息

格式为:姓名=密码=班级=课程

例如:abc=123=s22=python

teacherinfo.txt 用来存教师信息

格式为:姓名=密码=课程=所教班级=地点

例如:taibai=123=python=s22=北京

2 函数 myinput 用来进行输入,如果输入为空则重新输入

3 函数 login 用来进行登录,如果登录成则修改对应的状态信息,并记录用户名

4 学校类 School 有两个属性,学校地点和学校名

5 班级类 Class 有四个属性,分别为班级名称、班级地点、班级课程、班级授课老师

6 课程类 Course 有四个属性,分别是课程名称、课程周期、课程价格、课程地点

7 老师类 Teacher 有一个记录状态的字典、四个属性、两个方法、一个装饰器

字典status_dict用来记录用户名和登录状态

属性分别为老师姓名、老师密码、老师所教课程、所教班级

方法 view_class 用来查看课程和班级

方法 viem_student用来查看班级的学生

装饰器decorator_t 用来进行登录判断,如果没有登录则让用户登录

8 学生类 Student 有一个记录状态的字典、三个属性、两个方法、一个装饰器

字典status_dict用来记录用户名和登录状态

方法view_class用来查看自己的班级

方法view_course用来查看自己的课程

装饰器decorator_s 用来进行登录判断,如果没有登录则让用户登录

9 管理员类 Manager 有一个记录状态的字典、二个属性、五个方法、一个装饰器

字典status_dict用来记录用户名和登录状态

方法create_school用来创建学校

方法create_course用来创建课程

方法create_class 用来创建班级

方法create_teacher用来创建教师并自动关联地点

方法create_student用来创建学生并自动关联课程

装饰器decorator_s 用来进行登录判断,如果没有登录则让用户登录

三、全部代码如下

1 代码基本信息

#!/usr/bin/python3

# -*- coding: UTF-8 -*-

# Author:zengzeng

# Version: 4.0

2 定义初始化函数,创建程序所需的文件

def initialize():

'初始化,创建所需的文件'

print("""初始化开始...n将创建程序所需文件:

'classinfo.txt', 'courseinfo.txt', 'managerinfo.txt',

'schoolinfo.txt', 'studentinfo.txt', 'teacherinfo.txt',""")

with open('classinfo.txt', 'w+', encoding='utf-8') as f1:

f1.write('s22=北京=python=taibain')

with open('courseinfo.txt', 'w+', encoding='utf-8') as f2:

f2.write('python=6个月=9999=北京n')

with open('managerinfo.txt', 'w+', encoding='utf-8') as f3:

f3.write('admin=123n')

with open('schoolinfo.txt', 'w+', encoding='utf-8') as f4:

f4.write('oldboy=北京n')

with open('studentinfo.txt', 'w+', encoding='utf-8') as f5:

f5.write('abc=123=s22=pythonn')

with open('teacherinfo.txt', 'w+', encoding='utf-8') as f6:

f6.write('taibai=123=python=s22=北京n')

print("初始化完成!")

3 定义输入函数,用来判断输入是否为空

def myinput(content):

'''content为输入时的提示语&

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值