我是python和编程的新手,我正在研究我的计算物理学的最终项目,我很难得到结构,这将允许我实例化每个具有属性x,y的n-粒子,vx,& VY。这些都是理想的气体模拟,最终将被插入恒星融合模型。任何帮助将不胜感激。这是我到目前为止所拥有的。
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
基本思想是有一个名为'system'的列表,其元素是名为'粒子'的列表,随着系统随时间的推移,我需要跟踪这些粒子的位置。非常感谢!
本
*更新
当我跑的时候我会尽力而为 particle.x = x * random.uniform(0.1,0.9999) 我遇到的地方 “AttributeError:'list'对象没有属性'x'”
如何将属性(x,y,vx,vy)分配给每个列表'粒子',然后将这些列表用作名为'system'的列表中的元素?
我知道代码很难过'原样',我觉得我咬得比我嚼得多。谢谢你的耐心等待。
答案 0 :(得分:1)
我不想做人的作业,很难看出你的问题是什么,但似乎是“请解释清单”?
characters = []
characters.append (["plumber","wrench"])
characters.append (["wizard","wand"])
> print characters [0]
['plumber', 'wrench']
> print characters [1]
['wizard', 'wand']
> print characters [1][1]
wand