欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python复习之编译题(类、私有属性、多重继承)

程序员文章站 2022-04-07 14:25:38
def fact(n): sum = 0 f = 1 for i in range(1, n+1): f = f * i sum += f return sumnum = int(input())print(fact(num))...

复习python往年题时,发现没有答案,就自己做了这几道编程题,若有错误和改进意见,欢迎交流!

1. 编写python程序,要求实现用户键盘输入字符串,对其每个不重复的字符串形成列表,并反向降序输出。

a=input('请输入一个字符串:')
b=list(set(a))         //转换成无序不重复列表
b.sort(reverse=True)   //进行降序排序
print(b)

输出为:
python复习之编译题(类、私有属性、多重继承)


2. 编写python程序,要求利用函数实现求阶乘1!+2!+…+n!的和,并利用该函数求1!+2!+3!+4!+5!+6!的和。

def fact(n):
    sum = 0
    f = 1
    for i in range(1, n+1):
        f = f * i
        sum += f
    return sum

num = int(input())
print(fact(num))

输出为:
python复习之编译题(类、私有属性、多重继承)


3. 分别定义Teacher(教师)类和Cadre(*)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼*)类。要求:
           (1)在Teacher类中有(职称)title、(专业)major 、( 授课名称)subject属性及printTeacherInfo方法,该方法用于输出Teacher类中的属性信息
           (2)在Cadre类中有(职务)postion 、(部门)department属性及printCadreInfo方法,该方法用于输出Cadre类中的属性信息
           (3)在TeacherCadre类中还有(姓名)name、(性别)gende、(年龄)age、(工资)wages属性,其中(工资)wages是私有属性,另外还有printTeacherCadreInfo方法,该方法用于输出TeacherCadre类中的属性信息

class Teacher(object):
    def __init__(self, title,major,subject):
        self.title = title
        self.major = major
        self.subject = subject
    def printTeacherInfo(self):
        print('职称为:'+ self.title + ' 专业为:' + self.major + ' 授课名称:' + self.subject)

class Cadre(Teacher):
    def __init__(self, postion,department):
        self.postion = postion
        self.department = department
    def printCadreInfo(self):
        print('职务为:'+ self.postion + ' 部门为:' + self.department)

class TeacherCadre(Cadre):
    def __init__(self,name,gender,age,wages,title,major,subject,postion,department):
        Teacher.__init__(self, title,major,subject)    //调用上上层父类的构造方法
        Cadre.__init__(self, postion,department)       //调用上层父类的构造方法
        self.name = name
        self.gender = gender
        self.age = age
        self.__wages = wages
    def printTeacherCadreInfo(self):
        print('姓名为:'+ self.name + ' 性别为:' + self.gender + ' 年龄为:' + self.age + ' 工资为:' + self.__wages)

yunding = TeacherCadre('lmq','女','19','000000','带教学姐','计算机','Linux与python编程','创客','开发部')
yunding.printTeacherCadreInfo()
yunding.printTeacherInfo()
yunding.printCadreInfo()

输出为:
python复习之编译题(类、私有属性、多重继承)


这里是平平无奇的77,妄想优秀 ▇ ▇ ▇ ▇ ▇ ▇ ▇ ▇ ▇ … 0%,若想转载请注明原链接,欢迎下次再来!!

本文地址:https://blog.csdn.net/Amazing_lmq/article/details/109844062