Как мне заставить компьютер угадывать с помощью перечисления?

#python #python-2.7

#python #python-2.7

Вопрос:

Я только начал использовать Python, поэтому, пожалуйста, извините, насколько плох мой код!

Итак, компьютер играет в игру сам с собой, где он угадал число от 0 до 100 (target), и он пытается угадать, каким было это число, но он может угадать только путем перечисления, т.Е. 1,2,3 и т.д. (я знаю, что это не лучший способ угадать, но это метод, который меня попросили показать)

Это мой код…

 print "Let's play a game."
print "I'm going to guess a number between 0 and 100. What is it?" #guess by enumeration
from random import randint
target = randint(0, 100)
print "This is the target number,", target
count=0
while True:

    guess=0
    guess =1
    count =1
    print guess 
    if guess == target:
        print ("Well done, you got it! It took you", count, "attempts.")

    break
    else:
        print "You didn't get it that time, try again."
  

Я получаю сообщение об ошибке, когда я вставляю это. Я думаю, что есть проблема с циклом и получением цели и предположения, равных друг другу.

Это также первый вопрос, который я задал, поэтому прошу прощения, если вопросы должны быть представлены не так. Я был бы признателен за любую помощь 🙂

Комментарии:

1. guess устанавливается равным нулю внутри цикла: большую часть времени вы будете получать бесконечные циклы, если target не равен 1. и если оно равно 0, вы его тоже никогда не достигнете…

2. import Строка должна быть размещена в самом начале вашего кода.

3. Ошибка, которую вы получаете, заключается в том, что у вас есть код между if и else . Между ними ничего не может быть

Ответ №1:

Поместите guess = 0 перед своим for циклом: вы guess сбрасываете на каждой итерации. Кроме того, count и guess делать то же самое, вы можете просто заменить один из них другим. Наконец, break неверный отступ, он должен быть на том же уровне, что и все остальное в этом if утверждении.

Ответ №2:

gess всегда равно 1 в цикле while, чтобы решить его, просто переместитесь guess=0 наружу:

 ...
guess = 0
while True:
    guess  =1
    ....