Я пытаюсь отобразить результаты моих расчетов списков упорядоченным способом, форматируя функцию print(). Я пробовал различные методы с этого сайта и Python Docs.Форматирование результатов из списка в Python3 .4
Самый близкий, который я могу получить, чтобы отображать его в формате таблицы, является выравнивание вывода с использованием функции .format(), но пара строк все еще смещена. Я понимаю, что это связано с тем, что предыдущие результаты больше, чем другие, но я не могу понять, как получить выравнивание текста в столбцах.
Когда я пытаюсь изменить форматирование строки из того, что у меня уже есть, я получаю ошибку «tuple index out the range». Но насколько я знаю, я не использую Tuples?
Это строка я пытаюсь напечатать:
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)
Любая помощь будет с благодарностью получил благодарность.
Спасибо Martijn, это здорово. Дополнительное понимание форматирования строк очень помогло. – regreading