Синтаксическая ошибка для двоеточия в выражении if

Я новичок в python и делаю своего рода игру как один из моих первых проектов, который угадывает число от 1 до 10, тогда пользователь догадывается об этом. У них есть три догадки, и программа сообщает пользователю, нужно ли им идти выше или ниже при следующей догадки. Часть кода с ошибкой в ​​этом не имеет решающего значения, так как это только делает предположение не пустым, если пользователь дважды вводит один и тот же ответ, позволяя им повторить свое предположение в первый раз, но не разрешить повторное использование второй. В коде я указал, где проблема. Как я уже сказал, я действительно новичок в python, и это, вероятно, какая-то любительская ошибка noobie. Спасибо заранее.

import time # This imports the time module.
import random # This imports the random module.

MyNumber = random.randrange(1,10) # This picks a number for the variable 'MyNumber'.

# Intro text and instructions.
print('=====================================')
print('=Welcome to GuessMyNumber!          =')
print('=                                   =')
print('=I will make a random number between=') 
print('=1 and 10, and you must guess it. If=')
print('=you are wrong, I will tell you if  =')
print('=you need to go higher or lower. Be =')
print('=careful, as you only have three    =')
print('=guesses!                           =')
print('=====================================')
print()

firstGuess = int(input('Ok then, we shall begin! What is your first guess?'))
print()
if firstGuess == (MyNumber):
 print('Well done! You win!')
 time.sleep(3)
 exit()
if firstGuess < MyNumber:
 print('Go Higher!')
 time.sleep(1)
if firstGuess > MyNumber:
 print('Go Lower!')
 time.sleep(1)

print()
secondGuess = int(input('Better luck this time! What is your second guess?'))
print()
if secondGuess == firstGuess:
 print('You tried that one last time! Don\'t worry, I won\'t count that one!')
 bungled = (1)
 secondGuess = int(input('What is your second guess?')
 if secondGuess == firstGuess:#This colon is causing the problem.
  print('You\'ve already tried that one twice!')
  bungled = (2)
if secondGuess == MyNumber:
 print('Well done! You win!')
 time.sleep(3)
 exit()
if secondGuess < MyNumber:
 print('Go Higher!')
 time.sleep(1)
if secondGuess > MyNumber:
 print('Go Lower!')
 time.sleep(1)

print()
thirdGuess = int(input('This is your final chance! What is your third guess?'))
print()
if thirdGuess == MyNumber:
 print('Well done! You win!')
 time.sleep(3)
 exit()
if thirdGuess < MyNumber:
 MyNumber = str(MyNumber)
 print('Sorry! You lost! The number was '+MyNumber)
 time.sleep(1)
 exit()
if thirdGuess > MyNumber:
 MyNumber = str(MyNumber)
 print('Sorry! You lost! The number was '+MyNumber)
 time.sleep(1)
 exit()

Ответы

Ответ 1

На самом деле это не двоеточие. Это незакрытая скобка на предыдущей строке.

Когда вы получите странный SyntaxError, проверьте баланс брелка перед ним.

Ответ 2

В приведенной выше строке отсутствует скобка. Изменить

secondGuess = int(input('What is your second guess?')

to

secondGuess = int(input('What is your second guess?'))