赞
踩
1.定义一个学校人员类SchoolPerson,
其中,属性:姓名name、性别sex、年龄age;
方法:设置人员的各个属性的set_info方法;
获取各属性值的get_info方法。
定义好类以后,再定义2个人员进行测试。
2.在第1个题的基础上添加两个方法:
其中,init()方法,完成属性的初始化(要求从键盘输入各属性的值);
del()方法,完成输出“__del__方法调用”这一句话(作用是用来销毁对象)。
3.创建学生类Student,继承自SchoolPerson类,添加额外两个属性:班级class、学号sno。
添加方法:打印学生的所有信息print_info方法。
创建教师类Teacher,继承自SchoolPerson类,添加额外两个属性:部门department、工号cno。
添加方法:打印教师的所有信息print_info方法。
并定义学生类、教师类的对象,然后分别调用print_info方法,实现各自对象属性信息的输出。
4.创建类MyMath,计算圆的周长、面积和球的表面积、体积,结果保留两位小数。若输入的是非数字,则输出:请输入数字!提示:要引入math包。
结果如下,请输入半径:5
圆的周长:31.42
圆的面积:78.54
球的表面积:314.16
解法:
class SchoolPerson: def set_info(self): self.name = input("输入姓名:") self.sex = input("输入性别:") self.age = input("输入年龄:") def get_info(self): return self.name,self.sex,self.age # student student = SchoolPerson() student.set_info() print(student.get_info()) # teacher teacher = SchoolPerson() teacher.set_info() print(teacher.get_info())
执行结果(以执行加运算为例):
"D:\Python Soft\Python39\python.exe" C:/Users/HP/PycharmProjects/pythonProject/python5/5-1.py
输入姓名:xxl
输入性别:男
输入年龄:20
('xxl', '男', '20')
输入姓名:李老师
输入性别:女
输入年龄:27
('李老师', '女', '27')
Process finished with exit code 0
解法:
class SchoolPerson: # 初始化 def __init__(self, name, sex, age): self.name = name self.sex = sex self.age = age # 输出语句,销毁对象 def __del__(self): print("__del__方法调用") def __str__(self): return "初始信息为 姓名:%s,性别:%s,年龄:%s" % (self.name, self.sex, self.age) def set_info(self): name1 = input("输入修改后的姓名:") self.name = name1 sex1 = input("输入修改后的性别:") self.sex = sex1 age1 = input("输入修改后的年龄:") self.age = age1 def get_info(self): return "修改信息为姓名:%s,性别:%s,年龄:%s" % (self.name, self.sex, self.age) a = input("输入初始姓名:") b = input("输入初始性别:") c = input("输入初始年龄:") student = SchoolPerson(a, b, c) print(student) student.set_info() print(student.get_info()) l = input("输入初始姓名:") m = input("输入初始性别:") n = input("输入初始年龄:") teacher = SchoolPerson(l, m, n) print(teacher) teacher.set_info() print(teacher.get_info())
执行结果:
"D:\Python Soft\Python39\python.exe" C:/Users/HP/PycharmProjects/pythonProject/python5/5-2.py 输入初始姓名:xxl 输入初始性别:men 输入初始年龄:20 初始信息为 姓名:xxl,性别:men,年龄:20 输入修改后的姓名:xxx 输入修改后的性别:men 输入修改后的年龄:19 修改信息为姓名:xxx,性别:men,年龄:19 输入初始姓名:Mr.zhao 输入初始性别:men 输入初始年龄:40 初始信息为 姓名:Mr.zhao,性别:men,年龄:40 输入修改后的姓名:Mr.zhang 输入修改后的性别:men 输入修改后的年龄:29 修改信息为姓名:Mr.zhang,性别:men,年龄:29 __del__方法调用 __del__方法调用 Process finished with exit code 0
解法:
class SchoolPerson(object): def __init__(self, name, sex, age): self.name = name self.sex = sex self.age = age def set_(self): name = input("请输入姓名:") self.name = name sex = input("请输入性别:") self.sex = sex age = input("请输入年龄:") self.age = age class Student(SchoolPerson): def set_info(self): class1 = input("请输入班级:") self.class1 = class1 sno = input("请输入学号:") self.sno = sno def print_info(self): return "学生的信息为:姓名:%s 性别:%s 年龄:%s 班级:%s 学号:%s" % (self.name, self.sex, self.age, self.class1, self.sno) class Teacher(SchoolPerson): def set_info(self): department = input("请输入部门:") self.department = department cno = input("请输入工号:") self.cno = cno def print_info(self): return "老师的信息为:姓名:%s 性别:%s 年龄:%s 部门:%s 工号:%s" % (self.name, self.sex, self.age, self.department, self.cno) a = Student("小明", "男", "18") a.set_() a.set_info() print(a.print_info()) b = Teacher("王老师", "男", "42") b.set_() b.set_info() print(b.print_info())
执行结果:
"D:\Python Soft\Python39\python.exe" C:/Users/HP/PycharmProjects/pythonProject/python5/5-4.py 请输入姓名:lxx 请输入性别:男 请输入年龄:18 请输入班级:java 请输入学号:1234567890 学生的信息为:姓名:lxx 性别:男 年龄:18 班级:java 学号:1234567890 请输入姓名:Amy 请输入性别:女 请输入年龄:20 请输入部门:宣传部 请输入工号:111111111 老师的信息为:姓名:Amy 性别:女 年龄:20 部门:宣传部 工号:111111111 Process finished with exit code 0
解法:
import math class MyMath(object): def __init__(self, r): self.r = r # 周长 def perimeter(self): c = 2 * math.pi * self.r return c # 面积 def area(self): a = math.pi * r * r return a # 体积 def volume(self): v = (4 / 3) * math.pi * r * r * r return v try: r = int(input("请输入半径:")) p = MyMath(r) print("圆的周长={:.2f}".format(p.perimeter())) print("圆的面积={:.2f}".format(p.area())) print("球的表面积={:.2f}".format(p.surfaceArea())) except: print("请输入数字!")
执行结果:
"D:\Python Soft\Python39\python.exe" C:/Users/HP/PycharmProjects/pythonProject/python5/5-5.py
请输入半径:5
圆的周长=31.42
圆的面积=78.54
球的表面积=314.16
Process finished with exit code 0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。