猜测算法似乎不起作用,通过Python猜测数字 - python

我正在与一些简单的算法作斗争,这应该使python在尽可能少的猜测中猜测给定的数字。它似乎正在运行,但是非常慢。我究竟做错了什么。我已经阅读了几个有关此问题的主题,但是找不到解决方案。我是一名初学者程序员,因此欢迎您提出任何建议。

min = 1
max = 50

number = int(input(("please choose a number between 1 and 50: ")))

total = 0
guessed = 0

while guessed != 1:
    guess = int((min+max)/2)
    total += 1 

    if guess == number:
        print("The number has been found in ",total," guesses!")
        guessed = 1
    elif guess > number:
        min = guess + 1
    elif guess < number:
        max = guess - 1

谢谢

ps。我知道程序不会检查输入是否错误;)

python大神给出的解决方案

您的逻辑是倒退。当您猜得太高时,您想降低max;当您猜得太低时,您想升高min。尝试这个:

if guess == number:
    print("The number has been found in ",total," guesses!")
    guessed = 1
elif guess > number:
    max = guess - 1
elif guess < number:
    min = guess + 1