我想通過格式化print()函數來讓我的列表計算結果以有序的方式顯示。我已經嘗試過來自這個網站和Python Docs的各種方法。在Python3中List的格式化結果.4
最接近我可以得到它顯示在一個表格格式是使用.format()函數對齊輸出,但一些行仍然偏移。我知道這是因爲前面的結果比其他結果長,但我無法找到讓文本在列中對齊的方式。
當我嘗試從已有的字符串格式中修改字符串格式時,出現「元組索引超出範圍」錯誤。但據我所知,我不使用元組?
這是我想要打印的字符串:
print('{:<10}'.format("Richter Scale Value:"), '{:<10}'.format(rVal),'{:^10}'.format ("Joules:"),'{:^10}'.format(joules),'{:>10}'.format("TNT:"),'{:>10}'.format(tnt))
但輸出我得到的是:
Richter Scale Value: 1 Joules: 1995262.3149688789 TNT: 0.00047687913837688307
Richter Scale Value: 5 Joules: 1995262314968.8828 TNT: 476.87913837688404
Richter Scale Value: 9.1 Joules: 2.818382931264449e+18 TNT: 673609687.2046962
Richter Scale Value: 9.2 Joules: 3.981071705534953e+18 TNT: 951498973.5982201
Richter Scale Value: 9.5 Joules: 1.1220184543019653e+19 TNT: 2681688466.3048882
我無法弄清楚如何獲得最後三個「TNT」線匹配。
這是打印(前述)的代碼:
rVal = 0
qList=[1,5,9.1,9.2,9.5]
qList_len = len(qList)
for i in range (0,qList_len):
rVal = qList[i]
joules = 10**((1.5*rVal)+4.8)
tnt = joules/(4.184*10**9)
任何援助將受到歡迎感謝。
Thanks Martijn,太棒了。對字符串格式的額外理解非常有幫助。 – regreading 2014-10-07 10:07:13