Создание нескольких объектов класса с использованием цикла - PullRequest
0 голосов
/ 11 октября 2018

У меня есть следующий код:

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 включительно.

1 Ответ

0 голосов
/ 11 октября 2018

Вы можете использовать список понимания :

nbodies = [Nbody(random.random(), random.random(), random.random(), 0, 0, 0)
           for i in range(N)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...