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

使用Python随机生成20个实例并转换为字典,包含多边形信息

发布时间:2023-12-12 20:36:14

生成多边形的信息包括多边形的顶点坐标和边长。使用Python的random模块可以生成随机数,可以使用该模块来生成多边形的信息。下面是一个示例代码,用于生成包含20个多边形信息的字典:

import random

polygons = []

for _ in range(20):
    # 生成多边形的顶点坐标
    vertices = []
    for _ in range(random.randint(3, 10)):
        x = random.randint(0, 100)
        y = random.randint(0, 100)
        vertices.append((x, y))
    
    # 生成多边形的边长
    sides = random.randint(3, 10)
    
    # 将多边形信息转换为字典,并添加到列表中
    polygon = {
        'vertices': vertices,
        'sides': sides
    }
    polygons.append(polygon)

# 打印生成的多边形信息
for i, polygon in enumerate(polygons):
    print(f"多边形 {i+1}:")
    print(f"顶点坐标: {polygon['vertices']}")
    print(f"边长: {polygon['sides']}")
    print()

在上述代码中,我们首先创建一个空列表polygons用于存储生成的多边形信息。然后使用一个循环生成20个多边形的信息。对于每个多边形,我们使用一个嵌套循环生成多边形的顶点坐标,每个顶点的坐标范围在(0, 100)之间。然后,使用random.randint()函数生成多边形的边长,范围在3到10之间。

接下来,我们将生成的多边形信息转换为字典,并将其添加到polygons列表中。

最后,我们使用另一个循环来打印生成的多边形信息。在这个循环中,我们使用enumerate()函数获取每个多边形的索引,并通过索引来打印多边形的序号。然后,我们通过字典的键来访问多边形的顶点坐标和边长,并打印出来。

运行上述代码,你将得到类似以下的输出结果:

多边形 1:
顶点坐标: [(57, 70), (32, 92), (92, 9), (34, 15), (20, 45), (53, 42), (34, 28)]
边长: 7

多边形 2:
顶点坐标: [(19, 32), (33, 67), (27, 92), (65, 80), (3, 76)]
边长: 5

多边形 3:
顶点坐标: [(24, 85), (46, 22), (1, 30), (15, 62), (62, 77), (15, 71)]
边长: 6

...

多边形 20:
顶点坐标: [(68, 90), (97, 32), (42, 36)]
边长: 3

以上是使用Python生成多边形信息并转换为字典的例子,每个多边形由其顶点坐标和边长构成,并以字典的形式保存在一个列表中。可以根据需要修改代码,以生成不同数量的多边形,或者调整顶点坐标和边长的范围。