2012-10-26 92 views
3

我是新來編程和使用pydev來在Eclipse中運行我的python。我使用Eclipse EE和Python 2.7.3,我嘗試運行的代碼是在這裏:爲什麼每次我嘗試運行我的Python程序時,Eclipse都會要求我「構建」?

def evaluate_poly(poly, x): 

     sumPoly = 0 

     for i in range(0,len(poly)): 
      #calculate each term and add to sum. 
      sumPoly = sumPoly+(poly[i]*x**i) 
     return sumPoly 




def compute_deriv(poly): 

    derivTerm =() 

    #create a new tuple by adding a new term each iteration, assign to derivTerm each time. 
    for i in range(0,len(poly)): 
    #i is the exponent, poly[i] is the coefficient, 
    #coefficient of the derivative is the product of the two. 
     derivTerm = derivTerm + (poly[i]*i,) 
    return derivTerm 



def compute_root(poly, x_0, epsilon): 

    #define root to make code simpler. 
    root = evaluate_poly(poly,x_0) 
    iterations = 0 

    #until root (evaluate_poly) is within our error range of 0... 
    while (root > epsilon) or (root < -epsilon): 
    #...apply newton's method, calculate new root, and count iterations. 
     x_0 = (x_0 - ((root)/(evaluate_poly(compute_deriv(poly),x_0)))) 
     root = evaluate_poly(poly,x_0) 
     iterations = iterations + 1 
    return (x_0,iterations) 

print compute_root((4.0,3.0,2.0),0.1,0.0001) 

每次我嘗試運行月食問我ant構建。當我點擊確定沒有任何反應。這隻發生在我在函數內部運行函數時,它看起來很基本,代碼不是問題。出了什麼問題,我該如何解決這個問題?

+0

這是Eclipse的一般煩惱,不需要顯示代碼,也不會導致問題。 – smci

回答

0

如果你擁有的只是函數,python是不會做任何事情的。它不會無緣無故地運行任意函數。如果你想打印出某些東西,你需要調用你的一個函數。最好的方法是將其添加到代碼的底部:

if __name__ == '__main__': 
    evaluate_poly([1, 2, 3], 4) 
+1

感謝您對內森的迴應。我只是編輯了代碼,因爲我看到我在前兩個函數中使用print而沒有返回。我在最後添加了一個打印語句來打印最後一個函數。這工作時,我只使用一個函數,但我的代碼仍然要求我螞蟻構建。 – user1778252

+0

@Nathan:是的,但這並不是被問到的底層問題,關於Eclipse總是試圖對任意Python(或其他)代碼進行「構建」。 – smci

相關問題