2017-01-22 8 views
-1

を:パイソン - __init __()1つの必要な位置引数不足している:私のpythonにちょっと新しいだと私はこのエラーを乗り越えることができない

Traceback (most recent call last): 
    File "***", line 63, in <module> 
    bst = Node() 
TypeError: __init__() missing 1 required positional argument: 'val' 

基本的には、プログラムはにあなたをできるようになるBSTです検索、挿入、検索、最小アイテムの検索は、左に行くだけです。

は、ここで(申し訳ありませんが、それはハンガリー語です)

class Node: 
     def __init__(self, val): 
       self.ertek = val 
       self.balgyerek = None 
       self.jobbgyerek = None 
       self.gyoker = None 

     def beszur(self, pri): 
       if self.gyoker: 
         return self.gyoker.beszur(pri) 
       else: 
         self.gyoker = Node(pri) 
         return True 
       if self.ertek == pri: 
         return False 
       elif self.ertek > pri: 
         if self.balgyerek: 
           return self.balgyerek.beszur(pri) 
         else: 
           self.balgyerek = Node(pri) 
           return True 
       else: 
         if self.jobbgyerek: 
           return self.jobbgyerek.beszur(pri) 
         else: 
           self.jobbgyerek = Node(pri) 
           return True 
     def keres(self, pri): 
       if self.gyoker: 
         return self.gyoker.keres(pri) 
       else: 
         return False 

       if(self.ertek == pri): 
         return True 
       elif self.ertek > pri: 
         if self.balgyerek: 
           return self.balgyerek.keres(pri) 
         else: 
           return False 
       else: 
         if self.jobbgyerek: 
           return self.jobbgyerek.keres(pri) 
         else: 
           return False 
     def minimumertek(self): 
       jelenlegi = self 

       while(jelenlegi.balgyerek is not None): 
         jelenlegi = jelenlegi.balgyerek 

       return self.ertek 

bst = Node() 
+4

'Node'は' val'を必要とします。あなたはそれを提供しません。 – jonrsharpe

+1

あなたのクラスは 'val'プロパティを持っていますが、' Node'オブジェクトを作成してもその値は渡されませんでした。 – Arman

答えて

0

__init__方法は、すぐにクラスのオブジェクトがインスタンス化されるように実行されるコードです。 __init__メソッドには、オブジェクトインスタンスを参照して自動的に渡される自己self.ertekに割り当てられるvalの2つの位置指定引数があります。ただし、の値を渡さなかった。したがって、エラー。クラスのインスタンス化での値を渡してみてください。例えば、bst = Node( 'ertek value')

関連する問題