Нужна помощь опытных “питонистов”

Я создал метод, код ниже, который скорее всего можно хорошенько сократить и сделать его более “питонистым”, но я ещё в этом деле неопытен. Могли бы вы глянуть своим опытным взглядом и дать пару подсказок?
И ещё, если не затруднит, поправить одно условие, оно закомментировано в коде, 2 дня уже ломаю голову над этим условием, не получается.
вот код:
def play(self): """Start the WarGame.""" new_players = self.players[:] # make list copy while len(new_players) != 1: # start loop until one object remains in list self.deck.deal(new_players, per_hand=1) # hand over to each player one card m = new_players[0].total n = 0 for player in new_players: print(player) """Need this condition but it's not work for player in new_players: # if the all objects in the list are equal, start the loop over if new_players.count(player.total) >= len(new_players): self.play()""" # find those who need to kill for player in new_players: if player.total < m: m = player.total n = new_players.index(player) # kill'em all for player in new_players: if m == player.total: n == new_players.index(player) print("R.I.P.:", player.name) new_players.remove(player) # clear copy list for player in new_players: player.clear() print("Win!:", player.name) # clear list for player in self.players: player.clear()