2015-05-28 5 views
-5

Я пытаюсь создать игру для угадывания для одного из моих классов, но ошибка «недействительный синтаксис» продолжает появляться. Любое решение для моего следующего кода будет с благодарностью!While loop with if statement python

import random 
goal = random.randint(1,100) 
guess = 0 
print("\nThe object of this game is to\nguess a number" 
     "between 1 and 100") 
while guess != goal: 
    guess = int(input("Please guess the number: ") 
     if guess > goal: 
     print("\nToo high, try again.") 
     elif guess < goal: 
     print("\nToo low, try again.") 
     else: 
     print("Well done!") 
print("\nSee you later") 
+0

Ваш отступ неправильный. Представьте, что ваш 'if/elif/else' находится на том же уровне, что и' guess' – IanAuld

+2

В отступе Python является частью синтаксиса. Убедитесь, что все ваши отступы правильные (4 места на блок рекомендуется PEP8). –

ответ

1

отсутствует закрывающая скобка на этой линии:

guess = int(input("Please guess the number: ") 

должен быть

guess = int(input("Please guess the number: ")) 

Plus ваш отступы противоречива, как вы используете 4 пробела после while заявления, но затем 2 места для следующих if заявлений

следующие работы для меня:

In [*]: 

import random 
goal = random.randint(1,100) 
guess = 0 
print("\nThe object of this game is to\nguess a number" 
     "between 1 and 100") 
while guess != goal: 
    guess = int(input("Please guess the number: ")) 
    if guess > goal: 
     print("\nToo high, try again.") 
    elif guess < goal: 
     print("\nToo low, try again.") 
    else: 
     print("Well done!") 
print("\nSee you later") 

The object of this game is to 
guess a numberbetween 1 and 100 
Please guess the number: 1 

Too low, try again. 
+2

Мы должны указывать ошибки OP как комментарии и flaggin, чтобы закрыть такие вопросы. Не отвечаю им – IanAuld

+0

Мы можем сделать то и другое. –

+2

@IanAuld указывает мне на документы, которые определяют это, исправление кода, особенно когда дело доходит до отступа, что-то, что я думаю, может и в этом случае нужно ответить, поскольку комментарии теряют форматирование кода – EdChum

0

Вы упускаете кронштейн на этой линии:

guess = int(input("Please guess the number: ") 

Оно должно быть:

guess = int(input("Please guess the number: ")) 
+0

Этот ответ идентичен уже опубликованному ответу. Этот вопрос должен быть закрыт как типографская ошибка. – IanAuld

+0

Я отправил его менее чем через 30 секунд после первого ответа. Он был опубликован, когда я печатал и не понимал. –

0

Ошибка из-за отсутствия единой отступа , Вам не нужно отступать, если после ввода предположения. Также отсутствующий кронштейн в исходном поле ввода