やあ皆さん、問題があります。return ステートメントが実行されていません。これは私のsudoコードです。ツリーを検索して、アイテムがツリー内にあるかどうかを確認します。
def search(self, i):
if left child is None and right child is None
if self.data == i:
return True
else:
pass
elif self.data == i:
return True
else:
if left child exists:
return self.left.search(i)
if right child exists:
return self.right.search(i)
self.data == i
if ステートメントが実行されても、コードは return True ステートメントを実行しない場合を除いて、コードは機能しているようです。これがなぜなのか誰か知っていますか?前もって感謝します!
編集: SELF パラメータを追加しました。そこにあるはずでしたが、タイプミスでした..
数字 3、8、2、1 をツリーに挿入し、1 を検索しました。左の子が None で右の子が None の場合に print ステートメントを追加しました: if self.data == i: print('self.data == i') return True 1 を検索するときにその print ステートメントを追加したところ、print ステートメントが印刷されました。これは、if ステートメントが実行されたことを意味しますが、return True ステートメントは実行されません。