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('enter radius:'))#input函数输入的是字符串,需要用eval函数转换成数值类型
c=Circle(r)
area=c.get_area()
perimeter=c.get_perimeter()
print(area,perimeter)
2.定义学生类并录入5个学生信息存储到列表中
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('enter 5 students information:(name#age#gender#score)')
lst=[]
for i in range(1,6):
s=input(f'enter no.{i} student information')
s_lst=s.split('#')
stu=Student(s_lst[0],s_lst[1],s_lst[2],s_lst[3])
lst.append(stu)
for item in lst:#item和lst里的元素的数据类型是Student类型
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(object):
def __init__(self,type,no):
self.type=type
self.no=no
def start(self):
print('我是车,我能启动')
def stop(self):
print('我是车,我可以停止')
class Taxi(Car):
def __init__(self,type,no,company):
super().__init__(type,no)
self.company=company
def start(self):
print('乘客您好')
print(f'我是{self.company}出租车公司,我的车牌是:{self.no},您要去哪里?')
def stop(self):
print('目的地到了,请扫码付款,欢迎下次乘坐')
class Family(Car):
def __init__(self,type,no,name):
super().__init__(type,no)
self.name=name
def start(self):
print(f'我是{self.name},这是我的车')
def stop(self):
print('已到达目的地')
taxi=Taxi('上海大众','京A88888','大众')
taxi.start()
taxi.stop()
print('-'*50)
familycar=Family('问界','京A00000','李二')
familycar.start()
familycar.stop()