if语句中冒号的语法错误

时间:2012-10-04 17:41:29

标签: python python-3.x

我是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()

2 个答案:

答案 0 :(得分:24)

它实际上不是结肠。它是前一行中未公开的括号。

当你得到一个奇怪的SyntaxError时,请检查它前面的支架平衡。

答案 1 :(得分:2)

上面的一行缺少一个括号。 改变

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

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