我有以下代码:
import os
reader=open('try.txt', 'r')
data=reader.read()
reader.close()
x=0.0
y=0.0
z=0.0
def xcoord():
global x
global y
global z
while x<=1.0:
mypath1='C:\\Users\\Rebecca\\Documents\\PhD\\Learnpython\\X' + str(x)
os.makedirs(mypath1)
ycoord()
x+=0.01
y=0.0
z=0.0
def ycoord():
global x
global y
global z
while y<=1.0:
mypath2='C:\\Users\\Rebecca\\Documents\\PhD\\Learnpython\\X' + str(x) + '\\Y' + str(y)
os.makedirs(mypath2)
zcoord()
y+=0.01
z=0.0
def zcoord():
global z
while z<=1.0:
writer=open('C:\\Users\\Rebecca\\Documents\\PhD\\Learnpython\\X' + str(x) + '\\Y' + str(y) + '\\X' + str(x) + 'Y' + str(y) + 'Z' + str(z) + '.dat', 'a')
writer.write(data)
print('interstitial Ce' + ' %.2f' % x + ' %.2f' % y + ' %.2f' % z + ' fix', file=writer)
print('centre' + ' %.2f' % x + ' %.2f' % y + ' %.2f' % z, file=writer)
print('size 14 28', file=writer)
print('dump1 inter' + '%.2f' % x + '%.2f' % y +'%.2f' % z + '.dat', file=writer)
print('output xyz ' + '%.2f' % x + '%.2f' % y + '%.2f' % z + '.xyz', file=writer)
writer.close()
z+=0.01
xcoord()
[注意我知道以这种方式使用全局变量并不理想,但这是目前我可以了解代码并让它做我想做的唯一方法....]
执行此操作时,x、y 和 z 的值会根据需要增加,但(仅有时)输出值有几个小数位。
如何更改设置以使 x、y 和 z 仅保留 2 位小数?
任何帮助将不胜感激 - 干杯