【发布时间】:2013-11-08 21:07:48
【问题描述】:
我试图得到一个左对齐的输出..但我一直遇到对齐问题。这是我的代码:
def print_report(symbol:str,strategy:str, alist1:list, alist2:list, alist3:list, alist4:list):
print('\nSYMBOL: ', symbol.upper())
print('STRATEGY: ', strategy)
print('\n''DATE CLOSING INDICATOR SIGNAL')
for i in range(0,len(alist1)):
print('{0:<0}{1:>13}{2:>15}{3:>15}'.format(alist1[i],alist2[i],alist3[i],alist4[i]))
输出应如下所示:
DATE CLOSING INDICATOR SIGNAL
2013-10-01 887.00 0.00
2013-10-02 887.99 0.00
2013-10-03 876.09 0.00
2013-10-04 872.35 0.00
2013-10-07 865.74 877.83 SELL
2013-10-08 853.67 871.17 SELL
2013-10-09 855.86 864.74 SELL
2013-10-10 868.24 863.17 BUY
2013-10-11 871.99 863.10 BUY
2013-10-18 1011.41 911.27 BUY
2013-10-21 1003.30 936.71 BUY
有没有更简单的方法来获取输出?或正确对齐?
【问题讨论】:
-
什么问题?你能告诉我们你得到了什么吗?
-
你的意思是right-justified?
-
好吧,使用
'{0:<0}{1:>13}{2:>17}{3:>17}'.format(...)... -
问题出在最后一部分BUY和SELL没有对齐。
-
您可能想要使用某种
'{0:width} {1:>width} {2:>width} {3:<width}'格式(注意格式字符串本身的空格),那么您将不会遇到这些对齐问题。 :)