0

このバイナリソートを機能させるのに問題があります。lower_boundおよび他の場所で構文エラーが発生します。私はそれが明らかなことだと知っていますが、机上の転換点に到達しています. 誰かがこれを明確に実行するのを手伝ってくれますか?これは基本的なことだと知っていますが、私はこれにかなり慣れていません。

def main():
    sortNames()
    binarySearch()


def sortNames():
    global names
    names = ["Chris Rich", "Ava Fischer",  "Bob White", "Danielle Porter", "Gordon Pike", "Hannah Beauregard", "Matt Hoyle", "Ross Harrison", "Sasha Ricci", "Xavier Adams"]
    names.sort()


def binarySearch():
    global names, found, nameSearch, lower_bound, middle_pos, upper_bound
    nameSearch = string(input("What name are you looking for?")
    lower_bound = 0
    upper_bound = len(names)-1
    found = False
    while lower_bound <= upper_bound and not found:
        middle_pos = (lower_bound+upper_bound) // 2
        if name_list[middle_pos] < nameSearch:
            lower_bound = middle_pos + 1
        elif name_list[middle_pos] > nameSearch:
            upper_bound = middle_pos - 1
        else:
            found = True

    if found:
        print("The name is at position", middle_pos)
    else:
        print("The name was not in the list.")                               


main()
4

2 に答える 2