2016-05-09 11 views
0
a = 3 

def f(x): 
    x = (x**3-4*x)/(3(x**2)-4) 
    return x 

while True: 
    print(a) 
    a = f(a) 

ここで型エラーが発生していますが、その理由はわかりません。私はこの再帰関数を実行しようとしていますが、これを修正する方法はありますか?TypeError: 'int'オブジェクトは再帰関数のために呼び出すことができません

+1

だろうこれはあなたの問題を行うには何も持っていますが、しません:あなたのコードには再帰がありません。 'f'が呼び出されると再帰があります。 – zwol

答えて

5

括弧の後に演算子*が必要です。この文脈では、乗算は数学的表記法にのみ暗示されています。Pythonでは、関数を呼び出すように見えます。

3(x**2) 

だから、例えば

3*(x**2) 

>>> 3(5*2) 
Traceback (most recent call last): 
    File "<pyshell#0>", line 1, in <module> 
    3(5*2) 
TypeError: 'int' object is not callable 
>>> 3*(5*2) 
30 
関連する問題