バイナリサーチアルゴリズムをPythonで実装しようとしています。 私の電話でこのコードを書いたが、コンパイルしなかった。 それはなぜコンパイルされないのかわかりません。 (私はコンピュータ上でそれを試していません。)バイナリサーチアルゴリズムのPythonコードがコンパイルされない
def BinarySearch(sList, search):
res=0
sortedList=sorted(sList)
x=int(len(sortedList)/2)
mid=sortedList[x]
def DivideSearch(sortedList ,search):
first=sortedList[:mid ]
second=sortedList[mid:]
if first[len(first)-1]<search:
DivideSearch (first, search)
elif second[len(second)-1]>search:
DivideSearch (second, search)
elif len(first)==1:
res=first.pop()
elif len(second)==1:
res=second.pop()
if res==search:
return res
numbers=[1,2,3,4,5,6,7,8,9]
guess=3
print(BinarySearch(numbers,guess))
コンパイルからこのコードを保持しますか? 私の間違いは何ですか?どうすれば修正できますか?
を見てみましょう、修正されたコードをアップロードしていて、インデントは良くありません://www.python-course.eu/python3_blocks.php – Eliethesaiyan
@Eliethesaiyan私はエラーが発生せず、私は結果を得ていません – ufukcalimli
インデントが非常に悪いです、return resはif.res ==の下にあります。検索と同じではない、それは何も返されません...したがって、あなたは何も見ていない...そして再び..あなたのインデントで言うことは難しい。 – Eliethesaiyan