2013-07-18 115 views
-2

我一直在这个特定的“else”上收到语法错误。我不知道问题是什么。如果它还不够清楚,那就是第16行的其他内容。我刚刚在几天前启动了python。所以,请不要太紧张掌心。python中的IF-ELSE语句的else语法错误

W = 1 
while W == 1: 
    if MH > 0: 
     PlayerInput = input("Attack, Defend, or Run('1','2',or'3'):") 
     if PlayerInput == "3": 
      W = 0 
     elif PlayerInput == "1": #Attack 
      Atk = randint(1,4) 
      if Atk == 1: 
       Atk = randint(1,4) 
       if Atk == 1: 
        print ("Miss") 
       else: 
        MH = MH-((1/2)*FightingAbility)   
        print ("Enemy lost %s Health" % ((1/2)*FightingAbility) 
      else:<<<<---------[[This else is giving me trouble]] 
       MH = MH-Fightingability 
       print ("Enemy lost %s Health" % (FightingAbility)) 
     elif PlayerInput == "2": #Defend 
      if S > FightingAbility: #Enemy is stronger 
       Def = randint(1,4) 
       if Def == 1: 
        Def = randint(1,4) 
        if Def == 1: 
         print ("The %s Missed" % (E)) 
        else: 
         Health = Health-((1/2)*S)   
         print ("You lost %s Health" % ((1/2)*S) 
       else: 
        Health = Health-S 
        print ("You lost %s Health" % (S)) 
      elif S <= FightingAbility: #Enemy is weaker 
       Def = randint(1,4) 
       if Def == 1: 
        Def = randint(1,4) 
        if Def == 1: 
         Health = Health-S 
         print ("You lost %s Health" % (S)) 
        else: 
         Health = Health-((1/2)*S)   
         print ("You lost %s Health" % ((1/2)*S) 
       else: 
        print ("The %s Missed" % (E)) 
    else: 
     Win=1 
     pass 
+0

我相信你已被放弃投票,提供简短的代码示例。在发布S.O之前,您应该将代码简化为出现问题的最简单形式。在这种情况下,这样做可能会帮助您自己解决问题。 –

回答

2

print线(else之前)不具有一个右括号。

print ("Enemy lost %s Health" % ((1/2)*FightingAbility)