生成20个随机Triangulation()实例的Python函数
发布时间:2023-12-11 12:44:51
下面是一个生成20个随机Triangulation实例的Python函数的例子:
import random
class Triangulation:
def __init__(self, vertices, edges):
self.vertices = vertices
self.edges = edges
def __str__(self):
return f"Vertices: {self.vertices}
Edges: {self.edges}"
def generate_random_triangulations(num_triangulations):
triangulations = []
for i in range(num_triangulations):
vertices = random.randint(3, 10) # 随机生成3到10个顶点
edges = random.randint(vertices - 2, vertices * 2 - 3) # 随机生成满足条件的边数
triangulation = Triangulation(vertices, edges)
triangulations.append(triangulation)
return triangulations
# 使用例子
triangulations = generate_random_triangulations(20)
for i, triangulation in enumerate(triangulations):
print(f"Triangulation {i+1}:")
print(triangulation)
print()
这个例子中,我们定义了一个Triangulation类,它有两个属性:vertices表示顶点数量,edges表示边数量。我们重写了__str__方法,以便在打印Triangulation实例时能够以易读的方式显示它的属性。
generate_random_triangulations函数接受一个参数num_triangulations,表示要生成的Triangulation实例的数量。在循环中,我们使用random模块的randint函数来随机生成满足条件的顶点和边数,并创建相应的Triangulation实例,然后将其添加到triangulations列表中。
在使用例子部分,我们调用了generate_random_triangulations函数来生成20个随机Triangulation实例,并通过for循环打印出每个实例的属性。
运行这个例子,你将会得到类似下面的输出:
Triangulation 1: Vertices: 6 Edges: 8 Triangulation 2: Vertices: 4 Edges: 4 Triangulation 3: Vertices: 10 Edges: 14 ...
每个实例的顶点和边数是随机生成的,所以每次运行结果都可能不同。
