Как использовать / вставить сгенерированное случайное число? - PullRequest
0 голосов
/ 28 сентября 2018

Я генерирую число в диапазоне от 1 до 100. Это число должно быть в первой координате pos = vec(0,0,0) (так на оси X).Остальные оси должны остаться 0. Как я могу перенести сгенерированное число в эту точку?

from vpython import*
from random import randint



#Sonne
sun = sphere(pos = vec(0,0,0), radius = 9, make_trail = True ) 
sun.mass = 2e30   
sun.velocity = vec(0,0,0)

#Merkur
mercury_pos_x = randint(1, 100)
mercury = sphere(pos = vec(mercury_pos_x,0,0), radius = 5, color=color.red, make_trail = True ) 
mercury.mass = 3.25e23
mercury.velocity = vec(0,0,-47000)

#Venus
venus_pos_x = randint(1, 100)
venus = sphere(pos = vec(venus_pos_x,0,0), radius = 6, color=color.cyan, make_trail = True ) 
venus.mass = 4.9e24
venus.velocity = vec(0,0,-35000)

1 Ответ

0 голосов
/ 28 сентября 2018

Я подозреваю, что вы хотите различное случайное начало для каждой планеты, оставляя Солнце в (0,0,0).Для двух случайных чисел вам нужно вызвать random дважды, сохраняя значение каждый раз для последующего использования.

merc_pos = randint(1, 100)
mercury = sphere(pos = vec(merc_pos,0,0), radius = s_rad1/2,
                 color=color.red, make_trail = True ) 

venus_pos = randint(1, 100)
venus = sphere(pos = vec(venus_pos,0,0), radius = s_rad1/1.8,
               color=color.cyan, make_trail = True ) 

Если вы не собираетесь использовать случайное значение в другом месте, вы можете подключить егоместо:

mercury = sphere(pos = vec(randint(1, 100),0,0), radius = s_rad1/2,
                 color=color.red, make_trail = True ) 
...