面向对象实现简单的学生课程选择

大家在学校一定都使用学校的选课系统,那么一个选课的流程是怎么实现的呢?下面给大家分享一个在python中使用面向对象初步实现选课情况.

 1 class Student(object):   #首先我们定义一个学生类
 2     def __init__(self,sno,sname):
 3         self.sno = sno
 4         self.sname = sname
 5         self.cour_lst = []   #学生的选课我们假设让他选择3门,定义一个空列表
 6     def  cheke_course(self):   #查看课程
 7         for c in self.cour_lst:
 8             print(f‘{self.sname}选了{c.cname}‘)
 9     def add_course(self,cour):  #添加课程
10         self.cour_lst.append(cour)
11 class Course(object):         #定义课程类
12     def __init__(self,cno,cname,teacher = None):  #在课程中,我们的课程老师暂时定义为空
13         self.cno = cno
14         self.cname = cname
15         self.teacher = teacher
16     def cheke_course(self):    #同样查看课程的信息,此时要加入一个课程的讲师
17         print(f‘{self.cno},{self.cname},{self.teacher.tname}‘)
18     def setting(self,teacher):   #给课程进行老师的设置,只添加姓名
19         self.teacher = teacher
20 class Teacher(object):      #定义一个教师类
21     def __init__(self,tno,tname,tphone):
22         self.tno = tno
23         self.tname = tname
24         self.tphone = tphone
25 import random     #为了增加趣味性,我们使用随机模块创建30个学生,给他们每人随机选择3门课
26 c1 = Course("01", "语文")
27 c2 = Course("02", "数学")
28 c3 = Course("03", "地理")
29 c4 = Course("04", "化学")  #这里我们首先创造6个课程对象
30 c5 = Course("05", "历史")
31 c6 = Course("06", "英语")
32
33 t1 = Teacher("01", "唐伯虎", "13301122001")
34 t2 = Teacher("02", "祝枝山", "13301122002")
35 t3 = Teacher("03", "文征明", "13301122003")  #同样创建6个讲师
36 t4 = Teacher("04", "李白", "13301122004")
37 t5 = Teacher("05", "黄冠", "13301122005")
38 t6 = Teacher("06", "谢晋", "13301122006")
39
40 c1.setting(t1)  #这里我们先给给课程添加上老师
41 c2.setting(t2)
42 c3.setting(t3)
43 c4.setting(t4)
44 c5.setting(t5)
45 c6.setting(t6)
46 c_lst = [c1,c2,c3,c4,c5,c6]   #将课程打包成一个列表,利用索引
47 stu_lst = []      #将30个学生放到一个列表中
48 for i in range(1,31):    #30次循环创建30个学生
49     stu = Student(i,‘学生‘ + str(i))
50     s = set()
51     while len(s) < 3:
52         s.add(random.randint(0,5))   #使用随机数配合集合的去重功能来给每个学生选三门课
53     for n in s:
54         stu.cour_lst.append(c_lst[n])
55     stu_lst.append(stu)
56 for el in stu_lst:    #大功告成,打印一下看效果吧
57     print(f‘学生编号:{el.sno},学生姓名:{el.sname}‘)
58     for e in stu.cour_lst:
59         print(f‘\t课程编号:{e.cno},课程名称{e.cname},任课老师电话{e.teacher.tphone}‘)

本案例中的内容比较简单,只是一个非常粗略的使用面向对象的简单嵌套来添加一些简单的信息,希望能一起学习!

原文地址:https://www.cnblogs.com/Godisgirl/p/10165597.html

时间: 2025-01-09 06:42:42

面向对象实现简单的学生课程选择的相关文章

【软件工程】02组软件工程组队项目计划安排及选题介绍——学生课程管理系统

一.项目概述 我们选择的项目是学生课程管理系统,是基于上一届学长的项目进行改进和实现. 学生课程管理系统是一个集成了课程信息查询,课程信息管理,成绩管理等面向老师与学生群体的系统. 定位:我们小组明确了这个系统的定位是辅助教务处的系统,适用范围是在一个比较小范围的人群内,而不是面向有数万人的学校.我们对教务处系统中一些比较繁琐或者需要复杂的权限才能使用的功能进行简化,使系统可以在一个小范围中比较简单地进行上手使用(例如一个老师要在院系中开一个培训班,那么教务处系统就不太方便,就可以用我们的系统)

linux下c/c++实例之十五简单的学生信息管理系统

一.简介 大学期间用vc++开发的简单的学生信息管理系统,主要有添加学生信息.删除学生信息.修改学生信息.查询学生信息.显示学生信息.综合统计(各课程平均成绩和合格率).总分排序和退出系统.设计: 二.详解 1.代码 (1)main.cpp #include<iostream> #include<fstream> #include<iomanip> //使用setw()函数 #include<windows.h> //使用system()函数 #includ

Qt-实现简单的学生信息管理_初识QT

项目介绍:利用Qt实现简单的学生信息管理 实现功能:实现对信息的添加,删除,查询,修改 废话不多说,直接进入主题:(刚刚学,界面做的不是太美观,请多包涵) 主界面 -  mainWindow && login 一.添加学生 - 1.使用组件有:Dialog 窗口,Label标签,Line Edit,Spin Box,radio button,check Box,push button. 2.实现思路: 1. 获取面板上的信息 2.将获得的信息写入一个.txt文件中去 3.实现步骤: 1.

信息安全系15级学生课程设计——2018.05 小组课题报告

信息安全系15级学生课程设计--2018.05 小组课题报告 课题:物联网实训·远程安防监控系统 一.设计方案及可行性分析 1.项目概述 本项目需要实现以嵌入式Web服务器为核心的视频监控系统. 摄像头采集的到的图像经过压缩后,传到内置的web服务器中.用户只需要通过浏览器就可以观看摄像头采集到的数据. 除了视频监控功能外,本项目还可以搜集空气湿度.空气温度.光照强度等信息. 2.系统架构 该项目基本可以看作B/S架构,由有三部分组成: (1)核心服务端:其实是客户端(严格意义上说,PC上的浏览

简单的学生管理系统

简单的学生管理系统 一,主要功能: 1,添加学生信息: 2,添加的学生信息显示在线型布局中: 3,把学生信息保存在xml文件中: 4,把保存在mxl中的学生信息取出来解析显示在界面: 二,主要知识点: 1,layout_weight的使用: 2,pull解析xml文件,xml序列化: 3,保存数据到sd卡: 4,动态添加控件刷新界面: 三,界面原型如下图: 四,代码展示: 1,界面xml文件,activity_main.xml <LinearLayout xmlns:android="ht

UIPickerView的简单应用——省份/城市选择的实现

UIPickerView的简单应用--省份/城市选择的实现 实现效果如图,左边为省份选择,右边选择省份对应的城市 数据plist形式如图 工程下载地址:工程下载 https://github.com/Nongchaozhe/UIPickerView-Province-city UIPickerView的实现重要还是两个代理协议中方法的实现 - (void)viewDidLoad { [super viewDidLoad]; [self loadData]; _pickView = [[UIPic

UIPickerView简单应用——省份/城市选择实现

UIPickerView的简单应用--省份/城市选择的实现 实现效果如图,左边为省份选择,右边选择省份对应的城市 数据plist形式如图 工程下载地址:工程下载 https://github.com/Nongchaozhe/UIPickerView-Province-city UIPickerView的实现重要还是两个代理协议中方法的实现 - (void)viewDidLoad { [super viewDidLoad]; [self loadData]; _pickView = [[UIPic

面向对象之简单工厂模式

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Interface { class InterfaceTest { static void Main(string[] args) { #region 测试Cat,Monkey,Bear类 introduction test; for (int i = 1; i<=3; i++) { switch (i)

Android 数据存储 利用SQLiteDatabase实现简单的学生管理

转载请注明出处:明桑Android 这是作为上一篇Android 数据存储 如何搞定SQLite Database的实例练习,之所以单独列出来是因为除了数据库方面的知识,还涉及其它方面的知识,所以就写的详细点,啰嗦点.希望对初学者有所帮助.当然这个Demo比较简单,有很多可以改进的地方,但那不是这里探讨的重点,重点学习如何将SQLiteDatabase数据绑定到我们的界面! 本文代码地址:UseSQLitDatabase 我们要做一个简单的学生管理的demo,创建student.db,包括nam