用Python生成20个随机实例,并将其转换为包含多边形信息的字典
发布时间:2023-12-12 20:40:10
下面是一段Python代码,可以生成20个随机实例,并将其转换为包含多边形信息的字典:
import random
def generate_polygon(num_vertices):
polygon = []
for _ in range(num_vertices):
x = random.randint(0, 100)
y = random.randint(0, 100)
polygon.append((x, y))
return polygon
instances = []
for _ in range(20):
num_vertices = random.randint(3, 10)
polygon = generate_polygon(num_vertices)
instances.append(polygon)
# 将多边形信息转换为字典格式
polygons = []
for polygon in instances:
polygon_dict = {"vertices": polygon}
polygons.append(polygon_dict)
# 打印生成的多边形信息
for i, polygon in enumerate(polygons):
print(f"多边形{i+1}:")
print(f"顶点信息: {polygon['vertices']}")
print()
以上代码中,我们首先定义了一个generate_polygon函数,用于生成随机的多边形。该函数接受一个参数num_vertices,表示多边形的顶点数量。在函数内部,我们使用random.randint函数生成num_vertices个随机的坐标点,并将其添加到列表polygon中。然后,我们使用polygon列表构建多边形,返回结果。
接下来,我们使用一个循环生成了20个多边形实例。在每次循环中,我们使用random.randint函数生成3到10之间的一个随机数作为多边形的顶点数量,然后调用generate_polygon函数生成对应顶点数量的多边形,并将结果添加到instances列表中。
之后,我们使用另一个循环将每个多边形实例转换为字典格式,其中字典的键是vertices,对应的值是多边形的顶点坐标列表。将转换后的多边形字典添加到polygons列表中。
最后,我们使用一个循环遍历polygons列表,并打印每个多边形的编号、顶点信息。
