python复习题资料
•
Python
先看大题:
练习题 动物园管理系统
动物园管理系统
步骤 1: 定义抽象基类 Animal 首先,我们定义一个抽象基类 Animal,它 包含抽象方法 make_sound 和普通方法 get_name。
步骤 2: 创建子类 Lion, Snake 和 Parrot 这些子类继承自 Animal 类,并实现了 make_sound 方法,展示多态和继承的概念。
步骤 3: 动物园类 Zoo Zoo 类包含一个动物列表,并提供添加动物 add_animal 和展示动物 叫声的方法 make_all_sounds。测试代码 现在,我们创建一些动物对象和一个动物园对象, 并展示它们是如何工作
#定义一个动物类
class Animal:
#定义一个构造函数
def __init__(self, name):
self.name = name
def make_sound(self):
#空语句不做任何事情
pass
def get_name(self):
return self.name
#定义一个狮子类继承动物类
class Lion(Animal):
def make_sound(self):
return "Roar!"
#定义一个蛇类继承动物类
class Snake(Animal):
def make_sound(self):
return "Hiss!"
#定义一个鹦鹉类继承动物类
class Parrot(Animal):
def make_sound(self):
return "Chirp!"
#定义一个动物园类
class Zoo:
#定义一个数组接收数据
def __init__(self):
self.animals = []
#接收animal实类
def add_animal(self, animal):
self.animals.append(animal)
#遍历接收到的动物的声音
def make_all_sounds(self):
for animal in self.animals:
print(animal.make_sound())
if __name__ == "__main__":
#类的实例化
lion = Lion("Lion")
snake = Snake("Snake")
parrot = Parrot("Parrot")
zoo = Zoo()
zoo.add_animal(lion)
zoo.add_animal(snake)
zoo.add_animal(parrot)
zoo.make_all_sounds()
print("Lion sound:", lion.make_sound())
print("Snake sound:", snake.make_sound())
print("Parrot sound:", parrot.make_sound())
练习题2: 创建和使用一个简单的包
目标:创建一个名为 geometry 的包。
在 geometry 包中, 创建两个模块:area 和 perimeter。
在 area 模块中,编写函数计算不同形状(如圆形、正 方形和矩形)的面积。
在 perimeter 模块中,编写函数计算这些形状的周长。
创建一个主 程序文件,在其中使用 geometry 包来计算不同形状的面积和周长。
#定义一个area.py的文件
geometry/area.py:
import math
def circle_area(radius):
return math.pi * radius ** 2
def square_area(side_length):
return side_length ** 2
def rectangle_area(width, height):
return width * height
#定义一个perimeter.py的文件
geometry/perimeter.py:
def circle_perimeter(radius):
return 2 * math.pi * radius
def square_perimeter(side_length):
return 4 * side_length
def rectangle_perimeter(width, height):
return 2 * (width + height)
#定义一个测试主文件
geometry/main.py:
from geometry.area import circle_area, square_area, rectangle_area
from geometry.perimeter import circle_perimeter, square_perimeter, rectangle_perimeter
def main():
circle_radius = 5
square_side_length = 4
rectangle_width = 3
rectangle_height = 4
print("Circle area:", circle_area(circle_radius))
print("Circle perimeter:", circle_perimeter(circle_radius))
print("Square area:", square_area(square_side_length))
print("Square perimeter:", square_perimeter(square_side_length))
print("Rectangle area:", rectangle_area(rectangle_width, rectangle_height))
print("Rectangle perimeter:", rectangle_perimeter(rectangle_width,rectangle_height))
if __name__ == "__main__":
main()
练习题三
用递归的方式实现二叉树的先序遍历
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/898fb55646.html
