Я новичок в python и программировании в целом, я работаю над своим окончательным проектом по вычислительной физике, и у меня возникают проблемы с созданием структуры, которая позволит мне создавать n-частицы, каждая из которых имеет атрибуты x, y, vx, & vy. Все это создает идеальное газовое моделирование, которое в конечном итоге будет подключено к модели звездного слияния. Любая помощь будет принята с благодарностью. Вот что я до сих пор.Python списки списков
import random
atoms = 10
x = 1000
y = 1000
vx = 1000
vy = 1000
t = 1
n = 10000
b = 0
dt = 10
particle = [x, y, vx, vy]
system = [particle]
for i in range(atoms):
system.append(i)
for system[i] in range(atoms):
particle.x = x * random.uniform(0.1, 0.9999)
particle.y = y * random.uniform(0.1, 0.9999)
particle.vx = vx * random.uniform(0.1, 0.9999)
particle.vy = vy * random.uniform(0.1, 0.9999)
for particle[i] in range(atoms):
for t in range(dt):
x = x + vx
y = y + vy
if y < 0:
y = -y
vy = -vy
if x < 0:
x = -x
vx = -vx
if y > 10:
m = y - 10
y = 10 - m
vy = -vy
if x > 10:
k = x - 10
x = 10 - k
vx = -vx
Основная идея состоит в том, чтобы иметь список под названием «система», элементы которого являются списками называемых «частицей» мне нужно следить за позиции этих частиц, как система эволюционирует с течением времени. Большое спасибо!
Бен
* обновление
Когда я запускаю его я получаю, насколько particle.x = х * random.uniform (0,1, 0,9999) , где я сталкиваюсь «AttributeError: 'список' объект не имеет атрибута 'x' '
Как назначить атрибуты (x, y, vx, vy) каждому элементу списка «частицы», а затем использовать эти списки как элементы в списке «система»?
Я знаю, что код грустный «как есть», я думаю, что я откусил немного больше, чем могу пожевать. Спасибо за ваше терпение.
Итак, у вас есть вопрос? Кроме того, правильно отформатируйте свой код. – Marcin
В этом коде есть много значительных ошибок. Он не будет работать. Возможно, вы можете попробовать и устранить неисправности. Если вы не можете понять, какие проблемы, вернитесь и попросите нас о какой-то конкретной помощи. – japreiss
Это потому, что вы создаете список, а затем пытаетесь использовать его как структуру (которая не существует в Python - помимо использования только одного класса для имитации) - вы можете посмотреть ['collections.namedtuple'] (http://docs.python.org/library/collections.html#collections.namedtuple). –