我有以下代码:
N=200
class Nbody:
num_of_bodies = 0
def __init__(self, x, y, z, vx, vy, vz):
self.x = x
self.y = y
self.z = z
self.vx = vx
self.vy = vy
self.vz = vz
Nbody.num_of_bodies +=1
def position(self):
return '{}{}{} {}{} {}{}'.format('(',self.x,',', self.y,',', self.z,')')
nbody_1 = Nbody(random.random(), random.random(), random.random(), 0, 0, 0)
nbody_2 = Nbody(random.random(), random.random(), random.random(), 0, 0, 0)
print(nbody_1.position())
print(nbody_2.position())
print(Nbody.num_of_bodies)
我想使用循环来创建N个n个实体,而不必手动创建它们,即nbody_1和nbody_2在哪里。
例如,对于一个N = 200的循环,它将创建200 nbody_(i),其中i是介于1到200之间的整数步。
答案 0 :(得分:1)
您可以使用list comprehension:
nbodies = [Nbody(random.random(), random.random(), random.random(), 0, 0, 0)
for i in range(N)]