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