2014-09-25 31 views
0

所以我遇到了一個任務的麻煩。我應該創建一個圖表,顯示攝氏溫度和華氏溫度之間的換算數字。他們希望攝氏溫度範圍從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中這樣做。

回答

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以考慮整數除法。

+0

好的,這讓我清醒了很多。我以前沒有用過.format,對Python來說真的很新鮮。不幸的是,它現在只打印出一個轉換後的數字,即-40和-40。我需要添加一些東西才能繼續嗎? – Martin 2014-09-25 10:55:13

+0

我只能假設你的縮進不正確 - [在Python中很重要](https://docs.python.org/2/tutorial/introduction.html#first-steps-towards-programming),在我的答案中複製片段究竟。 – jonrsharpe 2014-09-25 10:58:54

+0

現在工作,猜我第一次複製它錯了:) – Martin 2014-09-25 11:23:54