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