Nur beim überprüfen, ob jemand gewonnen hat bzw. ob unentschieden ist, sieht mein Code ein bisschen komisch aus.
Gibt es eine kürzere oder übersichtlichere Möglichkeit?

Code: Alles auswählen
def whowins(who):
if(who == "X"):
who = "Spieler1"
else:
who = "Spieler2"
return who
def finish():
unentschieden = (feld[0]+feld[1]+feld[2]+feld[3]+feld[4]+feld[5]+feld[6]+feld[7]+feld[8]).replace("-", "")
if(feld[0].replace("-", "") == feld[1] and feld[0] == feld[2]):
winner = whowins(feld[0])
print(winner + " gewinnt.")
return True
elif(feld[0].replace("-", "") == feld[3] and feld[0] == feld[6]):
winner = whowins(feld[0])
print(winner + " gewinnt.")
return True
elif(feld[0].replace("-", "") == feld[4] and feld[0] == feld[8]):
winner = whowins(feld[0])
print(winner + " gewinnt.")
return True
elif(feld[1].replace("-", "") == feld[4] and feld[1] == feld[7]):
winner = whowins(feld[1])
print(winner + " gewinnt.")
return True
elif(feld[3].replace("-", "") == feld[4] and feld[3] == feld[5]):
winner = whowins(feld[3])
print(winner + " gewinnt.")
return True
elif(feld[2].replace("-", "") == feld[4] and feld[2] == feld[6]):
winner = whowins(feld[2])
print(winner + " gewinnt.")
return True
elif(feld[2].replace("-", "") == feld[5] and feld[2] == feld[8]):
winner = whowins(feld[2])
print(winner + " gewinnt.")
return True
elif(feld[6].replace("-", "") == feld[7] and feld[6] == feld[8]):
winner = whowins(feld[6])
print(winner + " gewinnt.")
return True
elif(len(unentschieden) == 9):
print("Unentschieden.")
return True