Ответ 1
На самом деле это не двоеточие. Это незакрытая скобка на предыдущей строке.
Когда вы получите странный SyntaxError
, проверьте баланс брелка перед ним.
Я новичок в 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()
На самом деле это не двоеточие. Это незакрытая скобка на предыдущей строке.
Когда вы получите странный SyntaxError
, проверьте баланс брелка перед ним.
В приведенной выше строке отсутствует скобка. Изменить
secondGuess = int(input('What is your second guess?')
to
secondGuess = int(input('What is your second guess?'))