2013-04-01 52 views
0

我需要一些關於這個程序的幫助。我已經嘗試了一些東西,但似乎並不奏效。當我點擊運行時,沒有任何反應。我認爲我的循環可能有問題,但我不太確定。另外我不知道如何增加通脹。任何幫助表示讚賞!對我的程序有一點幫助

附加信息: 你的父母需要購買新的車輛,他們正試圖 決定是否購買混合動力或不是。混合動力車輛 與其非混合動力車輛相比產生較少的二氧化碳排放並且具有較好的燃料效率 。然而,混合動力車輛比非混合動力車輛還要花費更多的錢。 幫助您的父母決定購買哪種類型的車輛(嚴格按照財務成本和未考慮到環保 福利)。典型的家庭每年駕駛20,000公里,目前天然氣的價格爲1.30美元/升。

問題: 允許用戶與這些車輛的 結合的燃料效率一起進入混合動力和非混合動力車輛的成本。此外,允許用戶輸入他們每年駕駛的平均公里數(注意:平均值爲20000公里/年)。然後輸出多少年的所有權,它將花費兩輛車相同的成本。
假設氣體價格保持不變,爲1.30美元/升。

顯然,天然氣的成本每年都會增加(這就是所謂的通脹)。
將天然氣價格每年上漲3%的想法納入您的計算中
(即年通貨膨脹率爲3%)。

這是我到目前爲止有:

i=0 # The year counter 
gas=1.30 
avgkm=20000 
inflation=1.03 
standard_cost=0 
hybrid_cost=0 

standard_cost=input("Enter the price of the non-hybrid car: ") 
hybrid_cost=input("Enter the price of the hybrid car: ") 
fueleff1=input("Enter litres/100km for the standard car: ") 
fueleff2=input("Enter litres/100km for the hybrid car: ") 

standardyear=avgkm/100 * fueleff1 * gas + standard_cost 
hybridyear=avgkm/100 * fueleff2 * gas + hybrid_cost 

while standard_cost != hybrid_cost: 
    i += 1 # Add a year 
    standard_cost += standardyear  
    hybrid_cost += hybridyear 
    if hybrid_cost==standard_cost: 
     break 

print "It will take",i,"years. " 
+0

在我的機器上工作(相反,它至少產生輸出)。你在使用IDE嗎?你有沒有試過直接從命令行運行它? – Kevin

+0

我正在使用WingIDE。 我試圖直接從命令行運行它,它仍然無法工作。沒有任何錯誤或任何事情,它只是停止並不顯示任何東西。其他代碼工程雖然。它的代碼有問題。也許是一個無限循環?我不確定。 –

+0

幾小時前,你的一位同學剛剛問過這個問題。 – MattDMo

回答

0

你的循環將停止只有standard_cost等於hybrid_cost準確。如果hybrid_cost <= standard_cost您應該停止循環。

1

我看到一對夫婦的問題:

1)你的循環將只有standard_cost正好等於hybrid_cost 退出,你可能想嘗試打破你的循環中出來的時候hybrid_cost < = standard_cost

2 )在while循環線

if hybrid_cost==standard_cost: 
    break 

是多餘的,而條件語句

+0

問題是要求輸出多少年的所有權,兩輛車的成本相等。那麼它是不是仍然是hybrid_cost == standard_cost? 你是什麼意思2) –

+0

即使我使用hybrid_cost <= standard_cost,它仍然無法正常工作。 –

+0

問題是,它可能不會是一個確切的年數。在第5年說混合動力車的成本是5000,標準是4900.在第6年,它可能是混合動力車5500和標準車6000.所以它永遠不會是完全相同的數字。 – Benjamin