2016-10-05 2 views
-1

Я только начал использовать Python, поэтому, пожалуйста, извините, как плохо мой код!Как я могу вычислить компьютер путем перечисления?

Итак, компьютер играет в игру с собой, где он догадывался о числе от 0 до 100 (цель), и он пытается угадать, что это за номер, но это можно только угадать путем перечисления, т.е. 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." 

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

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

+0

'guess' устанавливается равным нулю в пределах цикла: вы получите бесконечный цикл большую часть времени если цель равна 1., и если это 0, вы никогда не достигнете ее ... –

+0

Линия 'import' должна быть размещена в самом начале вашего кода. – Efferalgan

+0

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

ответ

1

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

1

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

... 
guess = 0 
while True: 
    guess +=1 
    .... 
Смежные вопросы