Python 简易版选课系统

一、创建学生类
# # 创建学生类
import random
class Student:
def __init__(self,num,name,address,course_lst=None):
self.num=num
self.name=name
self.address=address
if course_lst:
self.cous_lst=cous_lst
else:
self.cous_lst=[]
def look(self): #查看学生所有的课程信息
print("%s学生的选课信息:"%self.name)#输出信息提示
for el in self.cous_lst:
print(el.name,end=" ")
print()
def adds(self,s):#学生添加课程
self.cous_lst.append(s)
二、创建课程类
# 创建课程类
class Course:
def __init__(self,num,name,teacher=None):
self.num = num
self.name = name
self.teacher=teacher
def look(self):#查看课程信息
return "课程编号: %s ,课程名称: %s ,课程老师: %s " %(self.num,self.name,self.teacher)
def sett(self,t):#给课程添加老师
self.teacher=t
三、创建教师类
# 创建教师类
class Teacher:
def __init__(self,num,name,phone):
self.num = num
self.name = name
self.phone=phone
四、创建6个老师
# 创建6个老师
t1=Teacher("N01","寒冰",10086)
t2=Teacher("N02","疾风剑豪",10387)
t3=Teacher("N03","瞎子",10088)
t4=Teacher("N04","机器人",10536)
t5=Teacher("N05","德玛西亚",24550)
t6=Teacher("N06","武器",10089)
五、创建6门课程
# 创建6门课程
c1=Course("KS01","上单")
c2=Course("KS02","中单")
c3=Course("KS03","下路AD")
c4=Course("KS04","辅助")
c5=Course("KS05","打野")
c6=Course("KS06","日中天")
c_lst=[c1,c2,c3,c4,c5,c6]
六、给课程安排老师
# 给课程安排老师
c1.sett(t6)
c2.sett(t2)
c3.sett(t1)
c4.sett(t4)
c5.sett(t3)
c6.sett(t5)
七、定义随机数函数
# 创建随机产生3个[0:5]不重复的数字
import random
def rand():
lst=[]
while len(lst)<3:
lst.append(random.randint(0,5))
s=set(lst)
lst=list(s)
return lst
八、创建30个学生
lst=[Student("N%s"%i,"学生%s号"%i,"清华路%s号"%i)for i in range(30)]
九、学生开始选课
for el in lst:
r=rand()
for el2 in r:#[1,3,5]
el.adds(c_lst[el2])
十、显示学生的选课信息
for el in lst:
el.look()
结果显示
学生0号学生的选课信息:
辅助 打野 日中天
学生1号学生的选课信息:
中单 辅助 打野
学生2号学生的选课信息:
上单 下路AD 打野
学生3号学生的选课信息:
中单 下路AD 辅助
学生4号学生的选课信息:
上单 中单 下路AD
学生5号学生的选课信息:
上单 下路AD 打野
学生6号学生的选课信息:
上单 下路AD 辅助
学生7号学生的选课信息:
辅助 打野 日中天
学生8号学生的选课信息:
辅助 打野 日中天
学生9号学生的选课信息:
中单 打野 日中天
学生10号学生的选课信息:
上单 下路AD 日中天
学生11号学生的选课信息:
中单 下路AD 辅助
学生12号学生的选课信息:
中单 辅助 打野
学生13号学生的选课信息:
中单 打野 日中天
学生14号学生的选课信息:
上单 下路AD 辅助
学生15号学生的选课信息:
上单 打野 日中天
学生16号学生的选课信息:
上单 打野 日中天
学生17号学生的选课信息:
上单 下路AD 辅助
学生18号学生的选课信息:
上单 中单 日中天
学生19号学生的选课信息:
上单 辅助 日中天
学生20号学生的选课信息:
下路AD 打野 日中天
学生21号学生的选课信息:
上单 中单 打野
学生22号学生的选课信息:
上单 中单 辅助
学生23号学生的选课信息:
上单 中单 打野
学生24号学生的选课信息:
辅助 打野 日中天
学生25号学生的选课信息:
中单 下路AD 辅助
学生26号学生的选课信息:
上单 中单 日中天
学生27号学生的选课信息:
上单 中单 下路AD
学生28号学生的选课信息:
上单 中单 日中天
学生29号学生的选课信息:
中单 下路AD 打野
Python 简易版选课系统的更多相关文章
- python实现学生选课系统  面向对象的应用:
		
一.要求: 选课系统 管理员: 创建老师:姓名.性别.年龄.资产 创建课程:课程名称.上课时间.课时费.关联老师 使用pickle保存在文件 学生: 学生:用户名.密码.性别.年龄.选课列表[].上课 ...
 - [ python ] 作业:选课系统
		
功能代码实现源地址:https://www.cnblogs.com/lianzhilei/p/5832691.html 如有侵权,立即删除 本文主要是分析 选课系统 实现思路及上面代码的实现过程 ...
 - python day 12: 选课系统
		
目录 python day 12 1. 通过类来创建选课系统 1.1 类库models.py 2. 配置文件setting.py 3. administrator.py 4. student.py p ...
 - python简易版微信或QQ轰炸
		
 在讲解代码之前我们先来回忆一下,平时我们发送消息时,先打开微信或QQ的界面,在信息栏中输入你要发送的内容在点击发送或通过快捷键发送.如果要发送表情时,先打开微信或QQ的界面,在点击表情包中你要发送 ...
 - python简易版学生管理系统
		
#coding=utf- def showInfo(): print("**************") print(" 学生管理系统") print(&quo ...
 - 安装了简易版XP系统后不能安装IIS的解决办法
		
第一步 找到C:\WINDOWS\inf文件夹中的sysoc.inf文件,在 [Components]区域中的NetOC=netoc.dll,NetOcSetupProc,netoc.inf,,7和c ...
 - python+requests模拟登陆 学校选课系统
		
最近学校让我们选课,每天都有不同的课需要选....然后突发奇想试试用python爬学校选课系统的课程信息 先把自己的浏览器缓存清空,然后在登陆界面按f12 如图: 可以看到登陆时候是需要验证码的,验证 ...
 - Dubbo入门到精通学习笔记(九):简易版支付系统介绍、部署(单节点)
		
文章目录 部署(单节点) 一.前期准备 二.对部署环境进行规划 创建数据库 调整公共配置文件 应用部署前期准备 部署服务 部署 Web 应用 部署定时任务 一. 工程结构 第三方支付系统架构 pay- ...
 - python【项目】:选课系统【简易版】
		
功能要求 角色:学校.学员.课程.讲师要求:1. 创建学校2. 创建课程3. 课程包含,周期,价格,通过学校创建课程4. 通过学校创建班级, 班级关联课程.讲师5. 创建学员时,选择学校,关联班级5. ...
 
随机推荐
- [转]OmniLayer / omnicore API 中文版
			
本文转自:https://www.codetd.com/article/1692438 JSON-RPC API Omni Core是Bitcoin Core的一个分支,其Omni协议功能支持作为顶层 ...
 - Host '127.0.0.1' is not allowed to connect to this MySQL server
			
错误:Host '127.0.0.1' is not allowed to connect to this MySQL server 一般原因: MySQL数据库的配置文件my.i ...
 - 27.QT-QProgressBar动态实现多彩进度条(详解)
			
如下图所示: 效果如下: (gif录制的动画效果不好,所以颜色有间隙) 介绍 通过qss实现,只需要一个多彩背景图,通过QImage获取颜色,然后来设置进度条,便可以实现动态多彩进度条(根据图片设定颜 ...
 - JSJ—编译器与虚拟机哪个重要?
			
阅读本文约“2分钟” 熟悉Java的朋友都知道虚拟机还有编译器,那么它们各自主要的功能是什么?谁比较重要呢?让我们来了解一下这两位美女的故事. 虚拟机可以说就是Java,她能让程序运行起来. 但是编译 ...
 - java过滤器(简化认证)
			
最近在看过滤器,刚刚实现了过滤器的简化认证功能: 使用过滤器简化认证: 在Web应用程序中,过滤器的一个关键用例是保护应用程序不被未授权的用户访问.为跨国部件公司开发的客户支持应用程序使用了一种非常原 ...
 - python爬虫scrapy项目详解(关注、持续更新)
			
python爬虫scrapy项目(一) 爬取目标:腾讯招聘网站(起始url:https://hr.tencent.com/position.php?keywords=&tid=0&st ...
 - mysql  length和char_length
			
length和char_length都是为了统计字符串的长度,length是按照字节来统计,char_lenght是按照字符来统计. 位(bit):计算机储存的最小单位. 字节(byte):计算机处理 ...
 - linux下ftp服务器搭建
			
1.yum install vsftpd 使用yum安装ftp 2.创建并授权ftp文件目录 mkdir -P /ftp/ftpadmin chmod -R 777 /ftp/ftp ...
 - 在CentOS下面安装hue时报的错
			
说明:我的系统为CentOS 7 ,系统自带的python版本为2.7.5. 安装hue时,推荐使用2.7.0以上的版本,可以自己查看自己系统自带的版本 若是版本不对,要升级为2.7的版本,这里不再说 ...
 - 4种方法实现Html转码
			
<script> var HtmlUtil = { /*1.用浏览器内部转换器实现html转码*/ htmlEncode: function(html) { //1.首先动态创建一个容器标 ...