2016-04-03 2 views
0

Bu kodu vardır:Neden bir if ifadesinin içine giremiyorum?

turn2l = [] 
turn1l = [] 
for i in range(5): 

turn1 = raw_input("Enter co-ordinates player 1: ") 
turn1l.append(turn1) 
turn2 = raw_input("Enter co-ordinates player 2: ") 
turn2l.append(turn2) 

############# WINNER CHECKER ############# 

def winnerchecker(turn1l,turn2l): 
    try: 
     if "1,1" in turn1l and "1,2" in turn1l and "1,3" in turn1l: 
      print xplayer, 
      print "YOU HAVE WON! GG TO PLAYER 2 ;)" 
      break 
     elif "1,1" in turn1l and "2,1" in turn1l and "3,1" in turn1l: 
      print xplayer, 
      print "YOU HAVE WON! GG TO PLAYER 2 ;)" 
      break 
     elif turn1l == "2,1" and turn1l == "2,2" and turn1l == "2,3": 
      print xplayer, 
      print "YOU HAVE WON! GG TO PLAYER 2 ;)" 
      break 
    except: 
     pass 
return; 

winnerchcecker(turn1l,turn2l) 

programı işlevinde break ifadesi başarısız, bu fonksiyon programı sonlandırmak için benim programda iki kez kullanılacaktır çünkü orada sonları olması gerekir. Bunu nasıl düzeltebilirim?

cevap

1

for veya while döngüsünün dışında break kullanmayı deniyorsunuz. if/elif ifadelerini kullandığınızdan, kodun her çalışması sırasında bu ifadelerden yalnızca biri çalıştırılmalıdır. Koşullardan biri doğru olarak değerlendirildiğinde, koşulların geri kalanı atlanır. Yani, kodunuzun nasıl çalıştığını etkilemeden break komutlarını kaldırabilmeniz gerekir.