Добрый день. Нужна помощь опытных “питонистов” :) Я создал метод, код ниже, который скорее всего можно хорошенько сократить и сделать его более “питонистым”, но я ещё в этом деле неопытен. Могли бы вы глянуть своим опытным взглядом и дать пару подсказок? И ещё, если не затруднит, поправить одно условие, оно закомментировано в коде, 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()