我試圖寫一個簡單的計算器,採用四面體的給定數量(用戶輸入他們的邊緣)和水給定的量(升),並計算如何四面體的許多可充滿水。我已經定義了計算單個四面體體積的函數,但是當我嘗試寫第二個函數(用水填充它們)時,我失敗了。蟒蛇函數參數
water = int(raw_input("water:")) #Enter the amount of water in litres
n = raw_input("Enter the number of tetrahedrons:")
tetrahedrons = []
for i in range(int(n)):
edge = raw_input("Enter the edge of a tetrahedron:")
tetrahedrons.append(int(edge))
tetrahedrons.sort()
#full_tetrahedrons = 0 # counter for the full tetrahedrons
def fill_tetrahedron(num):
volume = (int(num) ** 3) // (6.0 * (2 ** 0.5))
volume_in_l = volume/1000
def tetrahedron_filled(tetrahedrons, water):
if water >= 0:
for number in tetrahedrons:
value = fill_tetrahedron(number)
water = water - value
full_tetrahedrons = 0
full_tetrahedrons += 1
return full_tetrahedrons
print tetrahedron_filled(tetrahedrons, water)
編輯:
OK,我已經解決了我的錯誤與爭論,但現在我進入什麼價值,我總是得到1作爲一個答案。
您已經定義了'tetrahedron_filled'需要兩個參數,而你只用一個參數調用它。 – Iguananaut 2015-02-24 18:27:15
大概你打算做'打印tetrahedron_filled(四面體,水)'而不是。 – 2015-02-24 18:28:14