Python入门-实战练习-基于面向对象

发布时间:2024年01月15日

实战1-定义一个圆的类计算面积和周长

需求:
定义一个圆类-Circle ,提供一个属性 r(半径),提供两个方法:
计算圆的面积 get_area(self) 和计算圆的周长 get_perimeter(self)
通过两个方法计算圆的周长和面积并且对计算结果进行输出,最后从键盘录入半径
创建圆类的对象,并调用计算面积和周长的方法输出面积和周长

class Circle():
    def __init__(self,r):
        self.r=r


    #计算面积的方法
    def get_area(self):
        #return 3.14*self.r*self.r
        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)
print('圆的周长为:',perimeter)

运行结果:

D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap9\实战1-定义一个圆的类计算面积和周长.py 
请输入圆的半径:5
圆的面积为: 78.5
圆的周长为: 31.400000000000002

实战2-定义学生类录入5个学生信息存储当列表中

需求:
定义学生类Student,包含姓名,年龄,性别,分数四个属性
提供一个用于学员信息输出的方法 info(self).编写测试代码
使用循环录入5为学生的信息,由于录入的学生信息中间使用 "#"进行分隔
所以需要使用字符串的 split()方法,进行 劈分,使用 劈分的信息创建学生对象
使用列表存储学生信息,最后使用循环列表,调用对象的 info() 方法输出学员信息

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('请输入5位学生信息:(姓名#年龄#性别#成绩)')
lst = []  # 存储5个学生对象

for i in range(1, 6):
    s = input(f'请输入第{i}位学生信息及成绩')
    s_lst = s.split('#')  # 索引0是姓名,索引1为年龄,索引2是性别,索引3是成绩

    # 创建学生对象
    stu = Student(s_lst[0], s_lst[1], s_lst[2], s_lst[3])
    # 将学生对象添加到列表中
    lst.append(stu)

# 遍历列表,调用学生对象的 info 方法
for item in lst:
    item.info()

运行结果:

D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap9\实战2-定义学生类录入5个学生信息存储到列表中.py 
请输入5位学生信息:(姓名#年龄#性别#成绩)
请输入第1位学生信息及成绩zhangsan#19#男#60
请输入第2位学生信息及成绩李四#20#男#70
请输入第3位学生信息及成绩王五#21#男#90
请输入第4位学生信息及成绩赵六#22#男#98
请输入第5位学生信息及成绩陈六#23#男#100
zhangsan 1960
李四 2070
王五 2190
赵六 2298
陈六 23100

实战3-使用面向对象思想实现乐器弹奏

需求:
乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器
包括二胡,钢琴和琵琶。乐器定义类 Instrument,包括方法 make_sound()
定义乐器类的子类: 二胡 Erhu 钢琴 Pinao 和小提琴 Violin
定义一个函数可以弹奏各种乐器 play(instrument)
测试给 乐手不同的乐器让他弹奏

class Instrument():
    def make_sound(self):
        pass


class Erhu(Instrument):
    def make_sound(self):
        print('二胡在弹奏')


class Pinao(Instrument):
    def make_sound(self):
        print('钢琴在弹奏')


class Violin(Instrument):
    def make_sound(self):
        print('小提琴在弹奏')


# 编写一个函数
def play(obj):
    obj.make_sound()


# 测试
er = Erhu()
piano = Pinao()
vio=Violin()

#调用方法
play(er)
play(piano)
play(vio)

运行结果:

D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap9\实战3-使用面向对象思想实现乐器弹奏.py 
二胡在弹奏
钢琴在弹奏
小提琴在弹奏

文章来源:https://blog.csdn.net/weixin_43582499/article/details/135601537
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。