使用字符串格式在表格中对齐文本时出现问题

时间:2014-09-25 09:25:07

标签: python

所以我遇到了一个任务问题。我应该创建一个图表,显示摄氏和华氏之间的转换数字。他们希望摄氏度范围从40到-40。我也知道华氏度= 32 +摄氏度* 9/5。现在我设法从上到下写了40到-40的数字。但我无法将摄氏温度转换为华氏温度,同时在摄氏温度下同时打印它。图表看起来应该是这样的:

 + Celsius ------ Fahrenheit
 + 40 ----------- 104    
 + 39 ----------- 102,2
 + etc. --------- etc.

我目前的代码是:

print("Celsius to Fahrenheit")
print("=======================")
print("Celsius\t    Fahrenheit")

for f in range(40,-41,-1):
    print(f)
for c in range(104,-41,-1):
    print(32 + c * 9 / 5)

现在这使华氏温度的数字加到摄氏以下。如何让它们在华氏文本下转到另一边?抱歉格式和拼写错误。第一次在这里发帖。

我在iPython Notebook中这样做。

1 个答案:

答案 0 :(得分:2)

你的代码没有多大意义 - 你在不同范围内计算华氏温度到摄氏温度。尝试:

for c in range(40, -41, -1): # iterate over Celsius
    f = (c * (9 / 5)) + 32 # calculate Fahrenheit from Celsius
    print("{0:d}\t{1:.1f}".format(c, f)) # print both in one line, tab-separated

您可以修改format字符串以提供所需的确切格式 - 请参阅format string syntax

N.B。基于您的print语法,我假设使用Python 3.x - 您需要稍微修改2.x以考虑整数除法。