почему только расширенный оператор присваивания в python коде нарушает его? - PullRequest
0 голосов
/ 08 апреля 2020

почему этот python код работает нормально, хотя вывод неправильный

low = 1
high = 1000

print(f"I will guess a value from {low} and {high}"
      "press 'h' or 'l' or 'c'for complete anything else to exit")

guesses = 1 
while True:
    mid = low + (high - low) // 2  
    print("is this is your guess {}".format(mid))
    inp = input()
    if inp == 'h':
        low += 1

    elif inp =='l':
        high -= 1

    elif inp == 'c':
        print('got it')

    else:
        break

, но когда я добавляю только эту строку кода, он говорит неверный синтаксис и разбивает

low = 1
high = 1000

print(f"I will guess a value from {low} and {high}"
      "press 'h' or 'l' or 'c'for complete anything else to exit")

guesses = 1 
while True:
    mid = low + (high - low) // 2  
    print("is this is your guess {}".format(mid))
    inp = input()
    if inp == 'h':
        low += 1

    elif inp =='l':
        high -= 1

    elif inp == 'c':
        print('got it')

    guesses += 1
    else:
        break

так почему guesses += 1 просто ломает все, это просто счетчик, он не играет никакой роли в коде, за исключением того, сколько раз я зацикливался

  • , если вы также можете сказать мне, почему этот код не работает распечатать распечатать прогнозируемые значения будут оценены, программа должна быть программой двоичного поиска.
...