python作业(面向对象)
来源:互联网 发布:数据库约束是什么意思 编辑:程序博客网 时间:2024/06/06 02:03
通过面向对象的方式实现队列和栈的数据结构;
l = []
l.get()
class Stack():
s = Stack()
s.pop()
s.push()
s.info()
s.getSize()
源代码
stack=[1,2]class Stack(object): #栈的类 def __init__(self): pass def pop(self): if len(stack) == 0: print "空栈" else: print stack.pop(),"元素被弹出" def push(self): item = raw_input("入栈元素:") stack.append(item) print "%s元素入栈成功" %(item) def info(self): print "当前栈内的元素为:", for i in stack: print i, print "" def getSize(self): print "当前栈内的元素有%d个" %(len(stack))class Queue(object): ##队列的类 def __init__(self): pass def pop(self): if len(stack) == 0: print "空队列" else: print stack.pop(0),"元素被弹出" def push(self): item = raw_input("入队列元素:") stack.append(item) print "%s元素入队列成功" %(item) def info(self): print "当前队列内的元素为:", for i in stack: print i, print "" def getSize(self): print "当前队列内的元素有%d个" %(len(stack))s = Stack()s.info()s.push()s.info()s.pop()s.info()s.getSize()q = Queue()q.info()q.push()q.info()q.pop()q.info()q.getSize()
测试结果
管理系统雏形
西部开源:学校,学员,讲师 学校: 属性:名称,地点,校训 方法:招生,招聘讲师 学员: 属性:姓名, 年龄, 性别,班级,学号 方法:学习,交钱,显示信息 讲师 属性:姓名, 年龄, 性别, 课程, 工资 方法:讲课,显示信息 学员保存在字典里,讲师保存在字典里
student_info = {"1":[1,1,1,1]}teacher_info = {"2":[2,2,2,2,2]}class School(object): def __init__(self,name,adress,motto): self.school_name = name self.school_address = adress self.school_motto = motto def info(self): print "学校名称:%s" %(self.school_name) print "学校地址:%s" %(self.school_address) print "校训:%s" %(self.school_motto) print student_info print teacher_info return def RecruitStudents(self): #招生 l=[] l.append(raw_input("请输入学生姓名:")) l.append(input("请输入学生年龄:")) l.append(raw_input("请输入学生性别:")) l.append(raw_input("请输入学生所分配的班级:")) student_num = raw_input("请输入学生学号:") student_info.setdefault(student_num,l) print "招生成功" return def RecruitTeacher(self): #招聘讲师 l = [] l.append(raw_input("请输入讲师姓名")) l.append(input("请输入讲师年龄:")) l.append(raw_input("请输入讲师性别:")) l.append(raw_input("请输入讲师的课程:")) l.append(raw_input("请输入讲师的工资:")) teacher_num = raw_input("请输入讲师工号:") teacher_info.setdefault(teacher_num,l) print "招生成功" returnclass Student(School): # def __init__(self,student_name,age,sex,Class,num,school_name,address,motto): # super(student, self).__init__(school_name,address,motto) def __init__(self,name,age,sex,Class,num): #属性:姓名, 年龄, 性别,班级,学号 self.student_name = name self.student_age = age self.student_sex = sex self.student_Class = Class self.student_num = num def study(self): #学习 print "%s学生正在学习!" %(self.student_name) return def pay(self): #交钱 print "%s学生已经交钱了!" %(self.student_name) return def info(self): #信息 print """学生信息:姓名:%s年龄:%d性别:%s所在班级:%s学号:%s""" %(self.student_name,self.student_age,self.student_sex,self.student_Class,self.student_num) returnclass Teacher(School): def __init__(self,name,age,sex,curriculum,wages,num): #属性:姓名, 年龄, 性别, 课程, 工资 self.teacher_name = name self.teacher_age = age self.teacher_sex = sex self.teacher_curriculum = curriculum self.teacher_wages = wages self.teacher_num = num def lecture(self): #讲课 print "%s老师正在讲课!" %(self.teacher_name) return def info(self): #信息 print """讲师信息:姓名:%s年龄:%d性别:%s课程:%s工资:%s工号:%s""" %(self.teacher_name,self.teacher_age,self.teacher_sex,self.teacher_curriculum,self.teacher_wages,self.teacher_num) return# s = student("王伟波",20,"男","linux",4,"westos","电子二路","linux")# s.info()# s = student("王伟波",20,"男","linux",4)# s.info()def school_manage(): while True: # schoolname=raw_input("请输入学校名称:") # schooladdress=raw_input("请输入学校的地址:") # schoolmotto=raw_input("请输入学校的校训:") # school = School(schoolname,schooladdress,schoolmotto) school = School("westos","电子二路","醉心linux") schoolview =""" 欢迎登陆学校管理系统 (1).查看学校信息 (2).招生 (3).招聘讲师 (4).退出 请输入你的选择(1|2|3|4): """ chiose = input(schoolview) if chiose == 1: school.info() elif chiose == 2: school.RecruitStudents() elif chiose == 3: school.RecruitTeacher() elif chiose == 4: return else: print "输入有误!请输入(1|2|3|4)"def student_manage(): while True: student_num = raw_input("请输入学生学号:") name = student_info[student_num][0] age = student_info[student_num][1] sex = student_info[student_num][2] Class = student_info[student_num][3] student = Student(name,age,sex,Class,student_num) studentview = """ 欢迎登陆学生管理系统 (1).查看学生信息 (2).交钱 (3).学习 (4).退出请输入你的选择(1|2|3|4): """ chiose = input(studentview) if chiose == 1: student.info() elif chiose == 2: student.pay() elif chiose == 3: student.study() elif chiose == 4: return else: print "输入有误!请输入(1|2|3|4)"def teacher_manage(): while True: teacher_num = raw_input("请输入讲师工号:") name = teacher_info[teacher_num][0] age = teacher_info[teacher_num][1] sex = teacher_info[teacher_num][2] curriculum = teacher_info[teacher_num][3] wages = teacher_info[teacher_num][4] teacher = Teacher(name,age,sex,curriculum,wages,teacher_num) teacherview = """ 欢迎登陆教师管理系统 (1).查看教师信息 (2).讲课 (3).退出请输入你的选择(1|2|3): """ chiose = input(teacherview) if chiose == 1: teacher.info() elif chiose == 2: teacher.lecture() elif chiose == 3: return else: print "输入有误!请输入(1|2|3)"while True: view = """ (1).学校管理系统 (2).学生管理系统 (3).教师管理系统 (4).退出请选择要登陆的管理系统(1|2|3|4):""" chiose = input(view) if chiose == 1: school_manage() elif chiose == 2: student_manage() elif chiose == 3: teacher_manage() else: break
阅读全文
0 0
- python作业(面向对象)
- 面向对象第一次作业
- 面向对象第二次作业
- 面向对象第三次作业
- 面向对象作业
- 面向对象 继承作业
- python面向对象(一)
- Python面向对象(一)
- Python面向对象(二)
- Python 面向对象(3)
- Python 面向对象(4)
- Python(九) 面向对象
- python面向对象(一)
- python面向对象(一)
- 面向对象第一次作业参考答案
- 面向对象第四次作业
- 面向对象第五次作业
- 面向对象 多态作业
- Tools(二)——BytesAdd
- 实现兼容的isArray()方法
- java设计模式-桥接模式
- SARSA与Q-learning的区别
- JavaScript中的Window对象(重定向)
- python作业(面向对象)
- Advanced Format (4K扇区) 磁盘
- STL源码分析之vector(二)—核心函数 push_back及insert_aux
- 针对需要SHA1签名第三方SDK运行时和发布时签名不一致导致的无法调起
- C++笔试题(五).腾讯
- 梯度下降、牛顿法、拟牛顿法比较
- 用两个栈实现一个队列
- 学习随记--websocket
- Kafka + spark stream +redis (createStream + createDirectStream)