欢迎访问宙启技术站
智能推送

使用get_shape_list()函数生成不同类型形状的列表

发布时间:2024-01-09 16:21:59

get_shape_list()函数是一个用于生成不同类型形状的列表的函数。它的作用是根据输入的参数生成不同形状的对象,并将这些对象存储在列表中返回。下面是get_shape_list()函数的实现:

import random

class Shape:
    def area(self):
        pass

class Circle(Shape):
    def __init__(self, radius):
        self.radius = radius
    
    def area(self):
        return 3.14 * self.radius * self.radius

class Rectangle(Shape):
    def __init__(self, length, width):
        self.length = length
        self.width = width
    
    def area(self):
        return self.length * self.width

class Triangle(Shape):
    def __init__(self, base, height):
        self.base = base
        self.height = height
    
    def area(self):
        return 0.5 * self.base * self.height

def get_shape_list(num_shapes):
    shape_list = []

    for i in range(num_shapes):
        shape_type = random.choice(['circle', 'rectangle', 'triangle'])
        if shape_type == 'circle':
            radius = random.randint(1, 10)
            shape_list.append(Circle(radius))
        elif shape_type == 'rectangle':
            length = random.randint(1, 10)
            width = random.randint(1, 10)
            shape_list.append(Rectangle(length, width))
        elif shape_type == 'triangle':
            base = random.randint(1, 10)
            height = random.randint(1, 10)
            shape_list.append(Triangle(base, height))

    return shape_list

这是一个简单的面向对象编程的示例,其中定义了一个Shape基类和三个派生类Circle、Rectangle和Triangle。每个形状类都实现了计算面积的方法area()。

get_shape_list()函数接受一个参数num_shapes,用于指定要生成的形状数量。该函数在循环中随机选择一个形状类型,并根据类型生成相应的形状对象并添加到shape_list列表中。最后返回生成的形状列表。

下面是一个示例使用get_shape_list()函数生成10个形状对象的列表,并计算它们的总面积:

shape_list = get_shape_list(10)
total_area = 0

for shape in shape_list:
    total_area += shape.area()

print("Total area of shapes:", total_area)

这个例子首先调用get_shape_list(10)生成一个包含10个形状对象的列表。然后使用一个循环遍历列表中的每个形状对象,并调用它们的area()方法来获取各个形状的面积,并将结果累加到total_area变量中。最后打印输出总面积。

这样,你就可以使用get_shape_list()函数来生成不同类型形状的列表,并对它们进行进一步的操作。这个函数可以用于各种应用,比如计算几何图形的属性、生成图形的可视化表示等。