2010-01-07 90 views
2

我的朋友寫了這個腳本,爲我計算理論場地所需的建築材料的數量。Python基礎數學

它基本上需要2個數字,並獨立增加它們,直到大數目達到50,000。然後,它打印的清單是這樣的:

20000:6.40,21000:6.61,22000:6.82,23000:7.03,24000:7.24,25000:7.45,26000:7.66,27000:7.87,28000:8.08,29000:8.29,30000:8.50,31000:8.71,32000:8.92,33000:9.13,34000:9.34,35000:9.55,36000:9.76,37000:9.97,38000:10.18,39000:10.39,40000:10.60,41000:10.81,42000:11.02,43000:11.23,44000:11.44,45000:11.65,46000:11.86,47000:12.07,48000:12.28,49000:12.49,50000:12.70 

我需要做一個小編輯的代碼,使小數量由1.225打印時相乘。我不想讓這個複雜,因爲我想保持增量相同。

getbingint = input("Enter big start value: ") 
getbiginc = input("Enter big increment value: ") 
getsmallint = input("Enter small start value: ") 
getsmalinc = input("Enter small increment value: ") 
getbigend = input("Enter big end value: ") 
string = "" 
while getbingint <= getbigend: 
    string += str(getbingint) + ":" + str("%.2f") % getsmallint + "," 
    getbingint += getbiginc 
    getsmallint += getsmalinc 
print string 
raw_input() 
+0

爲什麼當它顯然是'float'時,你會調用第三個參數'getsmallint'? – 2010-01-07 11:30:02

回答

1

更換string += str(getsmallint)更換行:

string += str(getbingint) + ":" + str("%.2f") % (getsmallint*1.225) + "," 
+0

謝謝你的工作。 – 2010-01-07 11:42:36

0

您可以string += str(getsmallint*1.225)

+0

這是錯誤的,它在打印時需要倍增。 – Skilldrick 2010-01-07 11:31:09

+0

「This is unreadable」 對不起,我試着盡我所能解釋。 – 2010-01-07 11:34:56

+0

代碼全部在一行,解釋實際上沒問題。 – 2010-01-07 11:50:24

1

string += str(getbingint) + ":" + str("%.2f") % getsmallint + "," 

這裏的另一個版本

getbingint = input("Enter big start value: ") 
getbiginc = input("Enter big increment value: ") 
getsmallint = input("Enter small start value: ") 
getsmalinc = input("Enter small increment value: ") 
getbigend = input("Enter big end value: ") 
for i in range(getbingint,getbigend,getbiginc+1): 
    getsmallint += getsmalinc 
    print str(i) +":"+ str("%.2f") % (getsmallint*1.225) + ",",