python作业(面向对象)

Python全栈学习笔记面向对象大作业:校园管理系统 校园管理系统 角色: 学校、学员、课程、讲师 要求: 1. 创建北京、上海 2 所学校 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开 3. 课程包含,周期,价格 4. 班级关联课程、讲师 5. 创建学员时,选择学校,关联班级 5. 创建讲师角色时要关联学校 6. 提供三个角色视图   6.1 学员视图, 登陆, 查看课程、查看班级   6.2 讲师视图, 讲师可查看自己教学的班级、课程。           进阶需求:可管理自己的班级, 查看班级学员列表 , 修改所管理的学员的成绩   6.3 管理视图,创建讲师, 创建班级,创建课程 7. 上面的操作产生的数据都通过pickle序列化保存到文件里 立即下载

通过面向对象的方式实现队列和栈的数据结构;

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 "招生成功"
        return

class 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)
        return

class 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

这里写图片描述
这里写图片描述
这里写图片描述

python面向对象练习题.pdf python面向对象练习题,资料,教育资料 立即下载

相关推荐

IEEE投稿完整流程——以IEEE Transactions on Cybernetics为例【附:论文格式模板】

前言 以下是官方的流程,包括了论文的格式和提交的流程,重要!重要!重要! 在IEEE的官网中,也有论文提交的文件 可以直接参考: 中文版: 作者指南 英文版: Manuscripts-Author-Guide 作者指南的版本指导流程可能和最新版的官网不一致!!! 或者在下面的链接中,按照你的论文类型,选择不同的论文模板: IEEE article template 以下以IEEE Transactions on Cybernetics 为例子 IEEE Transactions on Cyberne

XC___XC的博客 10万+

python练习|面向对象

个人学习笔记

py_hope 1747

PaddleOCR实战:从零开始训练自己的OCR模型(附完整代码与数据集处理技巧)

本文提供了一份详尽的PaddleOCR实战指南,手把手教你从零开始训练专属的OCR模型。内容涵盖高质量训练数据的准备与标注技巧、预训练模型的选型对比、关键参数调优策略,并附有完整的代码示例。通过遵循本文的步骤,开发者可以高效构建并优化贴合自身业务场景的高精度OCR模型,实现从数据到部署的全流程掌握。

weixin_29263201的博客 571

Python初学,经典代码题(期末不慌)

【代码】Python初学,经典代码题(期末不慌)

To_surprise的博客 2423

深度排查:网讯网卡WX1860AL4千兆网口降速百兆的硬件陷阱

本文详细剖析了网讯网卡WX1860AL4千兆网口降速至百兆的硬件故障排查过程。通过分析千兆以太网硬件原理,提供从网线、供电到PCB走线、焊接残留的标准化检修流程,并分享两种典型硬件陷阱(线序错误与焊锡短路)的实战修复案例,为硬件工程师解决类似传输速率问题提供系统性的诊断思路与方法。

a3b4c5的博客 1113

Vulkan入门系列3 - 绘制三角形代码解析(全)

【代码】Vulkan入门系列3 - 绘制三角形完整代码(带详细注释)

GPU全栈博主 1035

Python 程序设计期末大作业

基本信息管理模块的主要功能有学生信息的添加、删除、修改、显示和学生数据的导入导出,学生成绩管理模块的主要功能有统计课程最高分、最低分和平均分。在学生基本信息管理界面,用户通过输入相应的命令进行学生基本信息的增、删、改、显示等操作。基本信息管理模块的主要功能有学生信息的添加、删除、修改、显示和学生数据的导入导出,、设计一个学生类,包含学号、姓名、语文成绩、数学成绩和英语成绩等数据成员。设计一个主菜单,两个子菜单,分别管理学生基本信息和学生成绩信息。学生成绩管理模块的主要功能有统计课程最高分、最低分和平均分。

m0_52014276的博客 1万+

uniapp - 详细解决 H5 网页报错 Uncaught Error: Async component timed out after ? ms.(移动端h5页面白屏或加载缓慢失败,超时报错处理)

uni-app,vue3,网页,h5,移动端,手机H5页面,浏览器,报错,uniapp报错,Asynccomponenttimedoutafter,如何解决这个问题,vue3Asynccomponenttimedoutafter,异步组件超时了怎么办,async,详细解决方案,AsyncComponents异步组件,导致页面打不开了,白屏什么也不显示,网页载入非常慢卡顿,vue3网站报错,超时,nuxt3,详细解决方案,浏览器控制台报错,爆红并且页面卡住了,依旧报错,找不到异步组件的报错

🏆 前端领域优质创作者 3781

Python 面向对象编程练习

def __init__ (self,width,height): #定义初始化方法(函数),三个参数(属性),至少有self一个参数(形参)print('姓名:{}\n年龄:{}\n性别:{}\n'.format(self.name,self.age,self.sex))s = Student(name='张三',age='20',sex='男',major='通信学院智联网') #给予子类创建对象。3,实例方法:至少包含一个对象参数,在内部通过’self。

weixin_70836066的博客 913

基于VSCode+clangd插件打造高效C++开发环境之四:clangd配置

本文介绍如何配置VSCode+clangd插件进行高效C++开发。重点内容包括:1)生成compile_commands.json文件,通过ninja工具提取编译命令并使用gen_compdb脚本转换;2)配置clangd命令行参数,如设置后台索引、并行度等;3)编写.clangd配置文件,调整编译标志和诊断选项;4)添加.clang-format文件定义代码风格;5)在VSCode中添加远程服务器工作目录。配置完成后需重启clangd服务使更改生效。文章还提供了MTK/QCOM等不同平台生成compile

5072

CKS-CN考试之路----04

根据上面信息我们知道,这个pod运行在default命名空间下,pod名字为cpu-77cd5ddcbf-bvb8w。可以从/etc/falco/falco_rules.yaml中获得相关内容,大概在文件的460行左右.编辑/etc/falco/falco_rules.local.yaml。7c688a8bfd69即是我们想要获得的docker id。将行为不当 Pod 的 Deployment 缩放为零副本。根据我们刚才定义的rule生成报告。访问/dev/mem 的 Pod。那么如果考试记不住怎么办?

Q先生 603

python大作业代码及文档,python大作业代码100行

大家好,本文将围绕python大作业代码及文档展开说明,python大作业代码100行是一个很多人都想弄明白的事情,想搞清楚python期末大作业题目需要先了解以下几个事情。大家好,小编为大家解答python大作业设计一个纸牌类游戏的问题。很多人还不知道python大作业代码及文档,现在让我们一起来看看吧!

aq8821的博客 1470

18、动态系统响应分析

本文系统地介绍了动态系统响应的分析方法,涵盖传递函数建模、特殊输入下的响应特性(如脉冲和阶跃响应)、终值与初值定理的应用、系统直流增益的计算,并深入探讨了一阶和二阶系统的时域特性。通过实例分析与MATLAB仿真,展示了不同参数对系统行为的影响。文章还总结了系统响应在控制设计与故障诊断中的实际应用,并展望了多变量、非线性及实时响应分析的未来研究方向。配合流程图,提供了清晰的系统分析与设计路径。

kite3的博客 144

Python面向对象作业(修改优化后)

Python面向对象作业 1、作业1 """ 作业1 玩个特别无聊的游戏,猜数字。 玩家输入一个数字与 计算机随机生成的数字作对比 当两个值相等时,则说明用户猜对了 注意:外部不能获取到计算机随机生成的值 """ import random class GuessNum: def get_num(self): n = random.randint(1, 100) num = int(input("请输入一个(1-100)之间的数字猜字:")) if

ga72x1的博客 1406

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Python【面向对象编程】-day3作业

js.buy(10000)--->余额不足 支付失败。

qq_61402449的博客 582

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Python作业——面向对象

类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类中定义的函数。类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。类变量或者实例变量用于处理类及其实例对象的相关的数据。如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。定义在方法中的变量,只作用于当前实例的类。

- 566

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Python入门——面向对象基础(章节实操作业)

self.x = xself.y = y"""矩形面积:param width: 长:param height: 高:return: 长 * 宽""""""矩形周长:param width: 长:param height: 高:return: (长 + 宽) * 2""""""画出矩形:param x: 左上角坐标:param y: 左上角坐标:param width: 长:param height: 高:return:"""p.width(2)

m0_66517050的博客 310

python面向对象作业_python学习之面向对象一作业

1、练习上课作业讲解的面向对象代码,明天默写2、基于上课作业讲解的面向对象代码,扩写Student类3、加入序列化与反序列化操作4、对象之间的关联采用id号5、可以通过id找到对应的文件,然后从文件中反序列化出执行的学校、班级、课程、学生对象class School():school_name = 'Oldboy'def __init__(self,nick_name,address):self....

weixin_39637700的博客 130

python面向对象作业_面向对象作业

day06打印菲波那切数列的前n项。使用循环和递归两种方式```python #打印菲波那切数列的前n项。使用循环和递归两种方式 a=int(input("请输入")) b=1 c=1 d=0 sum=[1,1] if a==1: print([1]) else: for i in range(a - 2): ###循环 ...

weixin_39558804的博客 286

python面向对象作业_python学习之面向对象基础作业

选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合1、学校数据与功能整合2、课程数据与功能进行整合3、学生数据与功能进行整合4、讲师数据与功能进行整合5、班级数据与功能进行整合ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合数据部分:校区的名字:如"老男孩上海校区"校区的地址:如"上海虹桥"​ 班级名字​ 班级...

weixin_39760689的博客 175

python作业讲解_python 面向对象(经典作业讲解)

#############################总结######################### lst =['python%s期' %i for i in range(510)]# pageSize=10 #每页显示XX条数据# current=int(input("请输入当前页码:"))## totle=0# if len(lst)%pageSize ==0:#数据除页码数余0...

weixin_39901332的博客 269

python面向对象作业_Python学习————作业(面向对象)

选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合1、学校数据与功能整合# 学校class School:def __init__(self, school_name, school_site, school_id): # 校名 校址 学校编号self.sch_name = school_nameself.sch_site = school_siteself.sch_id...

weixin_39713814的博客 332

python面向对象作业_Python面向对象

Python面向对象1、 什么是对象属性+方法=类同一个类可以生成无数个对象一只股票的属性: 市值,成交量,价格...方法: 获取股票的市值、成交量,计算成交额2、 通常命名方式类名用大写属性为名词方法为动词classStockA:price=20volume=10000defcalAmount():returnprice*volume# 实例化类对象checkStockA=StockA()che...

weixin_39831039的博客 216

Python3 面向对象作业练习

1.类变量和实例变量的区别? class Dog: # 类变量(静态属性) kind = 'canine' def __init__(self, name): # 实例变量(对象属性),self 表示类的实例 self.name = name dog = Dog("小黄") print(dog.name) # 小黄 print(dog.kind) # canine print(Dog.kind) # canine print(Dog.name) #

Nancy 博客 799

作业:Python面向对象

面对对象

qq_71516676的博客 313

python 面向对象(经典作业讲解)

python 面向对象(经典作业讲解) #############################总结######################## # lst =['python%s期' %i for i in range(510)] # pageSize=10 #每页显示XX条数据 # current=int(input("请输入当前页码:")) # # totle=0 # if len(lst)%pageSize ==0:#数据除页码数余0 # totle=len(lst)//page

CVAIDL的博客 512
上一篇: python装饰器与面向对象
下一篇: DHCP服务器的配置
python_bobo
博客等级 码龄9年 15粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值