变量分配未按预期工作

时间:2017-10-04 07:14:12

标签: python-3.x

我正在尝试编写一个搜索一系列数字的代码,并确定用户输入的数字是否在范围内。我正在使用二进制搜索来执行此操作。

这是我写的:

initial = 0
final = 1000

guess = (initial + final)//2
num = int(input("Enter Number"))

while True:
    if (initial + final)//2 == num:
        print((initial + final)//2, "is in our list. Congratulation!")
        break
    elif (initial + final)//2 > num:
        final = (initial + final)//2

    else:
        initial = (initial + final)//2

上述程序无限运行,因为变量guess在第一次迭代后不会计算为final或initial的新值。

我尝试在没有变量的情况下调整代码,如下所示,并且有效。

WinHttp.WinHttpRequest.5.1

我无法理解为什么变量猜测没有改变。

我认为我理解变量分配,直到出现这个问题。

1 个答案:

答案 0 :(得分:0)

每次迭代都需要更新变量。将其移动到while循环中。现在你只在开始时评估一次。