Python 为什么输出无限期地运行而不产生最终结果?(高低游戏)

Python 为什么输出无限期地运行而不产生最终结果?(高低游戏),python,binary-search,Python,Binary Search,我正在为高/低猜测游戏编写代码。基本上,我们有一个整数n和一个猜测,0您忘记了,在左+右//2中,//运算符的优先级高于+。它应该是左+右//2。以下是带有正确缩进的固定代码和被遗忘的代码:: 您忘记了,在left+right//2中,//运算符的优先级高于+。它应该是左+右//2。以下是带有正确缩进的固定代码和被遗忘的代码:: 您提供的代码不会产生您提到的输出-请提供再现问题的代码。此外,下次打印有意义的打印。。。例如,printf'1 mid是:{mid}'您提供的代码不会产生您提到的输出-

我正在为高/低猜测游戏编写代码。基本上,我们有一个整数n和一个猜测,0您忘记了,在左+右//2中,//运算符的优先级高于+。它应该是左+右//2。以下是带有正确缩进的固定代码和被遗忘的代码::

您忘记了,在left+right//2中,//运算符的优先级高于+。它应该是左+右//2。以下是带有正确缩进的固定代码和被遗忘的代码::


您提供的代码不会产生您提到的输出-请提供再现问题的代码。此外,下次打印有意义的打印。。。例如,printf'1 mid是:{mid}'您提供的代码不会产生您提到的输出-请提供再现问题的代码。此外,下次打印有意义的打印时。。。例如printf'1 mid是:{mid}'ahhh好的!非常感谢。啊,好的!非常感谢。
n = 75
guess = 70
if guess == n:
   print(guess)

   left = 0
   right = n

   while left <= right:
       mid = left + right //2

        if guess > mid:
            left = mid
            print(left)

        elif guess < mid:
            right = mid
            print(right)

        else:
            print(mid)
            break

if left > right:
    print("Cannot be correct")
n = 75
guess = 70
if guess == n:
    print(guess)
else:
    left = 0
    right = n

    while left <= right:
        mid = (left + right) // 2

        if guess > mid:
            left = mid
            print(f'a. left={left} mid={mid} right={right}')

        elif guess < mid:
            right = mid
            print(f'b. left={left} mid={mid} right={right}')

        else:
            print(f'c. left={left} mid={mid} right={right}')
            break