python3で深さ優先探索の再帰関数が上手く機能しない
こんにちは。python3で作ったこちらの再帰関数が上手く機能しません。
def func(teleports_string):
strings = [{n[0],n[1]} for n in teleports_string.split(',')]
start = {'1'}
def search(strings,point,totalpoint):
for string in strings:
if point <= string and not string.difference(point) <= totalpoint:
if len(totalpoint.union(point)) >= 7:
print(totalpoint)
return totalpoint
search(strings,string.difference(point),totalpoint.union(string))
return search(strings,start,set())
func("12,23,34,45,56,67,78,81")
上記のコードの
return totalpoint
の行でtotalpoint
を戻り値として処理を終了させたいのですが、
残りの処理を始めてしまいます。
どのようにすれば、return totalpoint
で処理を終わらせられるでしょうか。
ご教授下さい。