首页 > 其他分享 >五月五日

五月五日

时间:2023-05-05 21:55:16浏览次数:39  
标签:__ self init 五月 print 五日 display def

今天写了一些python的实验

定义一个人员类People,其属性有:姓名、性别、年龄;基于People实现学生类Student,添加属性:学号、入学时间和入学成绩;基于People实现教师类Teacher,添加属性:职务、部门、工作时间;基于Student实现究生类Graduate,添加属性:研究方向和导师,分别定义其中的构造函数和输出函数。程序中定义各种类的对象,并完成测试。 基于以上类利用接口实现在职研究生类 GradOnWork。

 

class People:
    def __init__(self, name='粘**', gender='男', age=21):
        self.name = name
        self.gender = gender
        self.age = age

    def display(self):
        print("姓名:" + self.name + "\n性别:" + self.gender + "\n年龄:" + str(self.age))


class Student(People):
    def __init__(self, student_id="20214145", into_time="2021-09-01", into_score="100"):
        People.__init__(self, name='左**', gender='男', age=21)
        self.student_id = student_id
        self.into_time = into_time
        self.into_score = into_score

    def display(self):
        print("姓名:" + self.name + "\n性别:" + self.gender + "\n年龄:" + str(
            self.age) + "\n学号:" + self.student_id + "\n入学时间:" + self.into_time + "\n入学成绩:" + str(self.into_score))


class Teacher(People):
    def __init__(self, post="系主任", department="软工", job_time="2000-1-01"):
        People.__init__(self, name='王**', gender='男', age=40)
        self.post = post
        self.department = department
        self.job_time = job_time

    def display(self):
        print("姓名:" + self.name + "\n性别:" + self.gender + "\n年龄:" + str(
            self.age) + "\n职务:" + self.post + "\n部门:" + self.department + "\n工作时间:" + self.job_time)


class Graduate(Student):
    def __init__(self, research_fields="软件工程", teacher="王**"):
        Student.__init__(self, student_id="20211111", into_time="2021-09-01", into_score="100")
        self.research_fields = research_fields
        self.teacher = teacher

    def display(self):
        print("姓名:" + self.name + "\n性别:" + self.gender + "\n年龄:" + str(
            self.age) + "\n学号:" + self.student_id + "\n入学时间:" + self.into_time + "\n入学成绩:" + str(
            self.into_score) + "\n研究方向:" + self.research_fields + "\n导师:" + self.teacher)


class GradOnWork(Teacher, Graduate):
    def __init__(self):
        Teacher.__init__(self, post="辅导员", department="信息院", job_time="2000-1-01")
        Graduate.__init__(self, research_fields="智能算法", teacher="罗**")

    def display(self):
        print("姓名:" + self.name + "\n性别:" + self.gender + "\n年龄:" + str(
            self.age) + "\n职务:" + self.post + "\n部门:" + self.department + "\n工作时间:" + self.job_time + "\n学号:" + self.student_id + "\n入学时间:" + self.into_time + "\n入学成绩:" + str(
            self.into_score) + "\n研究方向:" + self.research_fields + "\n导师:" + self.teacher)
p = People() # 人员类
p.display()
s = Student() # 学生类
s.display()
t = Teacher() # 教师类
t.display()
g = Graduate() # 研究生类
g.display()
gw = GradOnWork() # 在职研究生类
gw.display()

 

设计三维图形类体系,要求如下:

设计三维图形功能接口,接口包含周长、面积、体积计算方法;

基于以上接口,首先定义点类,应包含x,y坐标数据成员,坐标获取及设置方法、显示方法等;

以点类为基类派生圆类,增加表示半径的数据成员,半径获取及设置方法,重载显示函数,并可计算周长和面积等;

以圆类为基础派生球类、圆柱类、圆锥类;要求派生类球、圆柱、圆锥中都含有输入和输出显示方法;并可计算面积、周长。

程序中定义各种类的对象,并完成测试。

import math
class Shape:
    def cal_perimeter(self):
        pass
    def cal_area(self):
        pass
    def cal_volume(self):
        pass
class Point(Shape):
    def __init__(self,x=0,y=0):
        self.x = x
        self.y = y
    def setX(self,x):
        self.x = x
    def setY(self,y):
        self.y = y
    def getX(self):
        return self.x
    def getY(self):
        return self.y
    def display(self):
        print('({}'.format(self.x)+',{})'.format(self.y))
class Circle(Point):
    def __init__(self,r):
        Point.__init__(self,x=0,y=0)
        self.r = r
    def setR(self,r):
        self.r = r
    def getR(self):
        return self.r
    def C(self):#计算圆的周长
        perimeter=round(2*3.14*self.r,2)
        return perimeter
    def S(self):#计算圆的面积
        area=round(3.14*self.r**2,2)
        return area
    def display(self):
        print('圆的周长:',self.C())
        print('圆的面积:',self.S())
class Ball(Circle):
    def __init__(self,r):
        Circle.__init__(self,r=10)
        self.r = r
    def V(self):#计算球的体积
        perimeter=round((4/3)*3.14*(self.r**3),2)
        return perimeter
    def S(self):#计算球的面积
        area=round(3.14*self.r**2*4,2)
        return area
    def display(self):
        print('球的体积:',self.V())
        print('球的面积:',self.S())
class Circular(Circle):
    def __init__(self,r,h):
        Circle.__init__(self,r=10)
        self.r = r
        self.h = h
    def V(self):#计算圆柱的体积
        perimeter=round(3.14*(self.r**2)*self.h,2)
        return perimeter
    def S(self):#计算圆柱的面积
        area=round(3.14*2*self.r*self.h+2*3.14*self.r**2,2)
        return area
    def display(self):
        print('圆柱的体积:',self.V())
        print('圆柱的面积:',self.S())
class CircularCone(Circle):
    def __init__(self,r,h):
        Circle.__init__(self,r=10)
        self.r = r
        self.h = h
    def V(self):#计算圆锥的体积
        perimeter=round((1/3)*3.14*(self.r**2)*self.h,2)
        return perimeter
    def S(self):#计算圆锥的面积
        area=round(3.14*self.r*(self.r+math.sqrt(self.r**2+self.h**2)),2)
        return area
    def display(self):
        print('圆锥的体积:',self.V())
        print('圆锥的面积:',self.S())


p = Point(3,3)
p.display()

r = float(input("请输入圆的半径:"))
c = Circle(r)
c.display()

r = float(input("请输入球体半径:"))
b = Ball(r)
b.display()

r = float(input("请输入圆柱底面半径:"))
h = float(input("请输入圆柱的高:"))
cc = Circular(r,h)
cc.display()

r = float(input("请输入圆锥底面半径:"))
h = float(input("请输入圆锥的高:"))
cn = CircularCone(r,h)
cn.display()

 

标签:__,self,init,五月,print,五日,display,def
From: https://www.cnblogs.com/mine-my/p/17375467.html

相关文章

  • 五月才找工作的大怨种是谁啊!
    本文首发自公粽hao「林行学长」,欢迎来撩,20个求职工具资源包等你哦。了解校招、分享校招知识的学长来了!假期马上就要结束,大家也要面对毕业、就业的实实在在的压力了。然而学长看到有同学仿佛是才进新手村的小白,对求职这事两眼一抹黑。相信不少同学对求职初期的迷茫都有所体会。而且,......
  • 五月三日
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title><style>......
  • 四月二十五日
    今天学习了一下cssCSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局等外观显示样式。CSS以HTML为基础,提供了丰富的功能,如字体、颜色、背景的控制及整体排版等,而且还可以针对......
  • 为什么要选择四五月安装电地暖?
    年前不少网友向小编说找了公司装地暖,结果排队排到了今年四、五月份,想想非常寒冷的时候都差不多已经结束了,这暖气究竟还要不要装?面对这样延期的问题,小编其实想说暖气肯定是要装的,合适是四月、五月份装,为什么啦?且听小编为大家细细说来:一,四月、五月优惠多大多数人们选择......
  • 三月二十五日
    之前学的都是androidstdio中的部件的用法和属性,今天完成了数据库的连接,以及如何使用navite可视化工具,可视androidstdio中所创建的数据库。packagecom.example.ditiexi......
  • DP 新疆大学ACM-ICPC程序设计竞赛五月月赛(同步赛)勤奋的杨老师
    链接:https://www.nowcoder.com/acm/contest/116/C来源:牛客网时间限制:C/C++1秒,其他语言2秒空间限制:C/C++32768K,其他语言65536K64bitIO......
  • 电工实训五日收获与感悟
    在开始之前挺抵触实训的,因为马上要期末考试了,实训又要占用一个星期的复习时间。但是后面在学的过程中突然发现电焊的实训还挺有意思的,把一个个的零件焊接在一个电路上,组装......
  • 组合日记-九月二十五日
    CF1278F答案即为:\(\displaystyle\sum_{i=0}^{n}{\binom{n}{i}p^i(1-p)^{n-i}i^k}\)考虑化简:\[\begin{aligned}\mathrm{Lemma1:}&i^k=\sum_{j}{\binom{i}{j}\begin{Bm......
  • 烟台-青岛五日游
    今年,终于如愿。带着未老的父母,携一家老小,从匆忙的工作中脱身,去外面看一看。本来,我的初衷就是带着爸爸妈妈坐一次飞机,这个心愿自从我上大学的时候就有了。因为父母一辈子......