我必須用不同的L值來測量所需的時間,所以我想優化我的代碼。我所要做的是填充一個立方體(LxLxL),其週期點(x,y,z)的直徑d是相同的。到目前爲止,這是我所:重寫這段代碼的有效方法?
L=10
d=2
x,y,z = 0,0,0
counter=0
with open("question1.xyz","w") as f:
while x<=L-d:
while y<=L-d:
while z<=L-d:
f.write('H ')
f.write('%f ' %x)
f.write('%f ' %y)
f.write('%f\n' %z)
counter=counter+1
z=z+d
z=0
y=y+d
z,y=0,0
x=x+d
然後我必須輸出,這種格式的文件(名爲.xyz文件):
H 0.000000 0.000000 0.000000
H 0.000000 0.000000 1.000000
H 0.000000 0.000000 2.000000
H 0.000000 0.000000 3.000000
H 0.000000 0.000000 4.000000
任何意見或建議?提前致謝!
您可以結合寫語句: 'f.write(「H {} {} {} \ n'.format(X,Y,Z) )' – bdforbes
此外,請考慮爲x,y,z元組編寫一個生成器並從中迭代 – bdforbes
您應該檢查您的[問題](http://stackoverflow.com/users/1690243/john-jones?tab=questions )和[接受一些答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work),以便人們將在未來回答你的問題。 – 2012-10-19 09:39:56