2016-04-03 26 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.

İlgili konular