2014-09-28 83 views
0

以下是描述: 根據用戶輸入的開始和結束年份以及公式,您的程序應制定一份成本表格。該表格應生成如下所示的列,Year欄是年份,從用戶說要開始的點開始,到了結束的一年,在那裏停止。表中步驟的大小也由用戶指定。用戶輸入都是整數。你的程序可以假設。注意:「結束的一年,在那裏停止」這個短語有點含糊不清。如果你想使用結束年份作爲範圍函數中的停止值,那很好。如果您想在結尾年份添加一個並將其用作停止值,那也是可以的。需要幫助打印使用for循環的表格

Big Blue Hard Drive Storage Cost 

Enter the starting year: 1992 
Enter the ending year: 2015 
What step size for the table? 4 

     Hard Drive Storage Costs Table 

Start Year = 1992 
End Year = 2015 

    Year   Cost Per Gigabyte ($) 

    1992     2002.627 
    1996     199.894 
    2000     19.953 
    2004     1.992 
    2008     0.199 
    2012     0.02 

這就是輸出應該看起來像。

我的問題是我該如何構建for循環來做到這一點?

我已經做好了一切,但對於我的循環,我應該爲今年做些什麼?因爲輸入值只是開始年份,結束年份和步長。我的代碼:

for year in range(x > 1979, y < 2011, z): 
     cost = 10^(-0.2502 * (year - 1980) + 6.304) 

main() 

這是成本的公式:http://prntscr.com/4r9l9j

+2

沒有剩下的代碼我不知道你已經命名了三個用戶輸入,但是請注意'range'的參數被命名爲'start','stop'和'step'。 .. – jonrsharpe 2014-09-28 21:36:12

+0

這個問題似乎是脫離主題,因爲它是關於刪除的東西。 – DJClayworth 2014-09-30 17:23:26

回答

2

簡單。

for year in range(x, y, z): 
    cost = 10**(-0.2502 * (year - 1980) + 6.304) 
    print(str(year) + "\t" + str(cost)) 
+0

開始年份,結束年份和步長是輸入值。 – 2014-09-28 21:40:41

+0

該公式基於1980年至2010年的數據,並且我得到了一個回溯錯誤:builtins.TypeError:'float'對象在第22行和第27行不可調用 – 2014-09-28 21:45:54

+0

立即嘗試。公式中有錯誤的運算符。 – jazdev 2014-09-28 21:47:52