python复习之编译题(类、私有属性、多重继承)
复习python往年题时,发现没有答案,就自己做了这几道编程题,若有错误和改进意见,欢迎交流!
1. 编写python程序,要求实现用户键盘输入字符串,对其每个不重复的字符串形成列表,并反向降序输出。
a=input('请输入一个字符串:')
b=list(set(a)) //转换成无序不重复列表
b.sort(reverse=True) //进行降序排序
print(b)
输出为:
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))
输出为:
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()
输出为:
这里是平平无奇的77,妄想优秀 ▇ ▇ ▇ ▇ ▇ ▇ ▇ ▇ ▇ … 0%,若想转载请注明原链接,欢迎下次再来!!
本文地址:https://blog.csdn.net/Amazing_lmq/article/details/109844062
上一篇: 那些未被收录的页面要提交死链呢?
下一篇: DudaMobile:一键生成手机版网页