二分查找卡住了

Binary search gets stuck

作为一名计算机科学专业的学生,​​我们在 python 中被分配进行二分查找。我不知道我的代码有什么问题,一切似乎都很好 当搜索到的项目在中间时,一切正常,但每当我输入不同的索引位置时,它就会卡在 while 循环中。

def binary_search():
    ordered_list = [0,1,2,3,4,5,6,7,8,9]

    lower_bound = 0
    upper_bound = 10
    index = int((lower_bound + upper_bound) / 2)
    item_f = int(input("please enter the number you want to find (1-10): "))
    t = True
    while t:
        if ordered_list[index] == item_f:
            print(f"number {item_f} is found at index position {index}")
            t = False
        elif item_f > ordered_list[index]:
            lower_bound = index + 1
        elif item_f < ordered_list[index]:
            lower_bound = index - 1

    if t == False:
        print("number found")
    else:
        pass
    
binary_search()

我添加了 1 行代码,请检查它是否有效

def binary_search()
    ordered_list = [0,1,2,3,4,5,6,7,8,9]

    lower_bound = 0
    upper_bound = 10
    index = int((lower_bound + upper_bound) / 2)
    item_f = int(input("please enter the number you want to find (1-10): "))
    t = True
    while t:
        if ordered_list[index] == item_f:
            print(f"number {item_f} is found at index position {index}")
            t = False
        elif item_f > ordered_list[index]:
            lower_bound = index + 1
        elif item_f < ordered_list[index]:
            upper_bound = index - 1#Edit line
        index = int((lower_bound + upper_bound) / 2) #Added line 

    if t == False:
        print("number found")
    else:
        pass
    
binary_search()