2014-10-04 57 views
0

程序似乎工作得很好。它提供了一個輸出,但從數字6到數字9它拋出我的周邊不符合規定。這是一個格式問題,如果是的話,我需要做些什麼來解決這個問題。我使用python 3.4。爲什麼我的半數不在我的半徑圖表

def main(): 

    print ('Radius\tArea\tCircumference') 
    print ('-----------------------------') 


for Radius in range(1 , 11): 
    round (3) 

    Area = (Radius)**2*3.14 
    Circumference = (Radius)*2*(3.14) 
    a = Radius 
    b = Area 
    c = Circumference 
    d = round(a, 3) 
    e = round(b, 3) 
    f = round(c, 3) 

    print (d, '\t', (e), '\t', (f)) 

這是結果我得到

1 3.14  6.28 
2 12.56 12.56 
3 28.26 18.84 
4 50.24 25.12 
5 78.5  31.4 
6 113.04    37.68 
7 153.86    43.96 
8 200.96    50.24 
9 254.34    56.52 
10 314.0 62.8 
+0

什麼出列是什麼意思? 您能否向我們提供您正在開始的輸出。 – 2014-10-04 17:23:27

回答

1

你可以讓你的輸出使用str.format像這樣string formatting更具吸引力:

print ('{:2d}{:10.3f}{:10.3f}'.format(d, (e), (f))) 

在這種情況下,格式字符串是指:

打印右對齊的第一個值一個整數字段2個字符寬。

打印第二個值在十進制字段中右對齊,寬度爲10個字符,小數點右側有3個位置。

打印第三個值右對齊的十進制字段,寬度爲10個字符,小數點右側有3個位置。

另請注意:如果您僅使用round()來影響打印輸出,則可跳過該步驟。字符串格式化將全面數字給你,這樣你就可以只打印a,b,c而不是d,e,f

print ('{:2d}{:10.2f}{:10.2f}'.format(a, b, c)) 
+0

好的,但它需要只有2位小數,我會用2f替換3f嗎? – Tom 2014-10-04 17:35:24

+0

請查閱我爲完整信息提供的鏈接,但是,請將其更改爲「{:10.2f}」,以減少小數點右側的位數。 – 2014-10-04 17:36:43

+0

任何機會,你會知道爲什麼我的兩個打印在主要不顯示 – Tom 2014-10-04 17:58:55