【发布时间】:2015-07-18 17:36:33
【问题描述】:
我需要产生具有指定空格数的输出。这是一个包含一些列的表,用于将输出保存到我使用的文件中:
save_line = ('%8s' % label[each_atom + str(int(k) + 1)] +
'%10s' % str(int(i) + 1) +
'\n' +
'%2s' % x[i] +
'%20s' % y[i] +
'%20s' %z[i] +
'\n')
但'%2s'%x[i] 不会在输出中产生两个空格。我不能在那里使用+" "+。有什么想法我能做什么?
这是我的代码的输出:
C1 1
2.482705 1.332897 13.175184
最后是我的输出应该是这样的(这是来自另一个输入的示例,我的任务是在此基础上生成我的输出):
C1 1
2.42416980 4.14117720 4.71196000
在任何列之间更改任意数量的空格都没有问题。唯一不起作用的是每隔一行的第一个。数字不匹配并不重要。问题出在空格上。
【问题讨论】:
-
你为什么不用
str.format? -
为我工作。你有示例输出吗?
-
清理了您的代码。不清楚你在问什么。这个问题与您在此处添加的数据有什么关系吗?还是与
'%2s' % x[i]没有按照您的预期做有关?在这种情况下,x[i]是什么? -
好的,现在可以了。抱歉有问题。那是我第一次尝试 Python。