Йоанна обнови решението на 11.11.2022 01:36 (преди около 2 години)
По-добре ValueError
, а и бих добавил повече информация:
raise ValueError(f'Invalid card face: {face}')
или нещо такова.
Бих използвал protected имена на атрибути като тези, които не използваш извън класа - self._suit
Бих се опитал да обединя тези два почти идентични блока.
Ако импортираш os
, можеш да вземеш разделителя за нов ред динамични и с още няколко корекции:
return os.linesep.join(map(str, self.cards))
Долната черта преди player
е излишна. Ако това е резервирана дума, чертата се слага отзад. Ако е атрибут на клас, слага се отпред. Тук не е нито едно от двете.
self.players.index(player)
ще ти даде интекса, който търсиш.
Не променяй реда на играчите в инстанцията. Да, процесът, който правиш тук е нужен, за да разбереш как да обходиш играчите, но това не трябва да реда, в който пазиш играчите, т.е. ти трябва локална променлива за това.
Ако i
не се използва, нека да е _
- такава е конвенцията.
First version uploaded.
Бих се опитал да обединя тези два почти идентични блока.
self.players.index(player)
ще ти даде интекса, който търсиш.