我是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'
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()
答案 0 :(得分:24)
它实际上不是结肠。它是前一行中未公开的括号。
当你得到一个奇怪的SyntaxError
时,请检查它前面的支架平衡。
答案 1 :(得分:2)
上面的一行缺少一个括号。 改变
secondGuess = int(input('What is your second guess?')
到
secondGuess = int(input('What is your second guess?'))