Огнян обнови решението на 12.11.2022 00:37 (преди над 2 години)
Бих използвал protected имена на атрибути като тези, които не използваш извън класа - self._suit
В този случай random_number
може да бъде нула, което няма да афектира тестето. Валидно цепене изисква поне една преместена карта.
В този случай random_number
може да бъде нула, което няма да афектира тестето. Валидно цепене изисква поне една преместена карта.
Реално можеш да си спестиш временната променлива:
self.cards = self.cards[random_number:] + self.cards[:random_number]
Това можеш да го подадеш директно на горния ред:
self.players = [Player() for _ in range(number_of_players)]
Ако просто върнеш self.players
пак изпълняваш условието ;) Все пак random_player
може да е нула, което е частен, но валиден случай. Условието казва "произволен играч", защото няма как да дефинирам нищо конкретно без да ти казвам как да си пазиш играчите.
А защо не просто self.deck.cards.extend(player.get_cards())
?
Ако се опасяваш, че ще получиш референция към елемента и искаш да го копираш, просто добави [:]
отзад и готово.
Тъй като си наследил Game
, възползвай се от неговия инициализатор. Нещата, които правиш тук, вече ги има там.
Тъй като си наследил
Game
, възползвай се от неговия инициализатор. Нещата, които правиш тук, вече ги има там.