大家好,欢迎来到IT知识分享网。
题目
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
解析
1.第一题
解法:
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
2.第二题
解法:
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
3.第三题
解法:
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
4.第四题
解法:
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
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24397.html