8-1 设计一个子类Instructor,一个子类Student,继承Person类——python

设计一个类Person,实现以下方法:

__init__():构造方法,带两个输入参数:姓名(字符串)和出生年份(整数)
getAge():返回年龄,当前年是2022年
getName():返回姓名
__str__():返回姓名、年龄的描述

设计一个子类Instructor,继承Person类,实现以下方法:

__init__():构造方法,参数除了姓名和出生年份外,还包括学历
getDegree():返回教师的学历
__str__():返回姓名、年龄、学历的描述

设计一个子类Student,继承Person类,实现以下方法:

__init__():构造方法,参数除了姓名和出生年份外,还包括主修专业
getMajor():返回学生的专业
__str__():返回姓名、年龄、专业的描述

测试程序输入姓名、年龄、学位、专业
输出相应的信息

类的定义:

 

class Person() ...... class Instructor(...): ....... class Student(...): .......

裁判测试程序样例:

 

/* 请在这里填写答案 */ def main(): name = input() year = int(input()) degree = input() major = input() p = Person(name,year) print(p) t = Instructor(name,year,degree) print(t) s = Student(name,year,major) print(s) main()

输入样例:

李丽君
1999
博士
计算机

输出样例:

姓名:李丽君,年龄:23
教师:姓名:李丽君,年龄:23,学位:博士
学生:姓名:李丽君,年龄:23,专业:计算机
class Person:  
    def __init__(self, name, birth_year):  
        self.name = name  
        self.birth_year = birth_year  
      
    def getAge(self, current_year):  
        return current_year - self.birth_year  
      
    def getName(self):  
        return self.name  
      
    def __str__(self):  
        return f"姓名:{self.name},年龄:{self.getAge(2022)}"  
  
class Instructor(Person):  
    def __init__(self, name, birth_year, degree):  
        super().__init__(name, birth_year)  
        self.degree = degree  
      
    def getDegree(self):  
        return self.degree  
      
    def __str__(self):  
        return f"教师:姓名:{self.name},年龄:{self.getAge(2022)},学位:{self.degree}"  
  
class Student(Person):  
    def __init__(self, name, birth_year, major):  
        super().__init__(name, birth_year)  
        self.major = major  
      
    def getMajor(self):  
        return self.major  
      
    def __str__(self):  
        return f"学生:姓名:{self.name},年龄:{self.getAge(2022)},专业:{self.major}"

 

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值