练习
1
class Circle:
def __init__(self, r):
self.r = r
def get_area(self):
return 3.14*pow(self.r, 2)
def get_perimeter(self):
return 2*3.14*self.r
# 创建对象
r = eval(input('请输入圆的半径:'))
c = Circle(r)
# 调用
area = c.get_area()
perimeter = c.get_perimeter()
print(area, perimeter)
2
class Student:
def __init__(self, name, age, gender, score):
self.name = name
self.age = age
self.gender = gender
self.score = score
def info(self):
print(self.name, self.age, self.gender, self.score)
print('请输入3位学生信息:(姓名#年龄#性别#成绩)')
lst = []
for i in range(1,4):
s = input(f'请输入第{i}位学生信息及成绩')
s_lst = s.split('#')
#创建学生对象
stu = Student(s_lst[0], s_lst[1], s_lst[2], s_lst[3])
lst.append(stu)
# 遍历列表,调用学生的info 方法
for item in lst:
item.info()
3.
class Instrument:
def make_sound(self):
pass
class Erhu(Instrument):
def make_sound(self):
print('二胡弹奏')
class Piano(Instrument):
def make_sound(self):
print('钢琴弹奏')
class Violin(Instrument):
def make_sound(self):
print('小提琴弹奏')
def play(obj):
obj.make_sound()
# 测试
er = Erhu()
piano = Piano()
vio = Violin()
# 调用方法
play(er)
play(piano)
play(vio)
4.
class Car:
def __init__(self, type, num):
self.type = type
self.num = num
def start(self):
print('启动')
def stop(self):
print('停止')
class Taxi(Car):
def __init__(self, type, num, company):
super().__init__(type, num)
self.company = company
def start(self):
print('乘客您好,开车了')
def stop(self):
print('到了,交钱')
class FamilyCar(Car):
def __init__(self, type, num, name):
super().__init__(type, num)
self.name = name
def start(self):
print('This is my car')
def stop(self):
print('到了,撤')
# 测试
taxi = Taxi('上海大众', '沪A88888','小沪')
taxi.start()
taxi.stop()
print('-'*50)
fcar = FamilyCar('丰田', '京A66666', '小明')
fcar.start()
fcar.stop()