Решение на От ливадите до Лас Вегас (и назад) от Таня Сейкова
Резултати
- 9 точки от тестове
- 0 бонус точки
- 9 точки общо
- 14 успешни тест(а)
- 1 неуспешни тест(а)
Код
Лог от изпълнението
.........F..... ====================================================================== FAIL: test_dealing_ltr (test.TestGame) Test dealing the cards left to right. ---------------------------------------------------------------------- Traceback (most recent call last): File "/storage/deedee/data/rails/pyfmi-2022/releases/20221115154139/lib/language/python/runner.py", line 67, in thread raise result AssertionError: {('hearts', '2'), ('clubs', '3'), ('clubs', '2')} not found in ({('spades', '2'), ('hearts', '3'), ('clubs', '2')}, {('spades', 'A'), ('diamonds', 'K'), ('clubs', 'A')}) ---------------------------------------------------------------------- Ran 15 tests in 0.157s FAILED (failures=1)
История (3 версии и 7 коментара)
Таня обнови решението на 13.11.2022 19:58 (преди около 2 години)
Бих използвал protected имена на атрибути като тези, които не използваш извън класа - self._suit
При дефиниране на стойност по подразбиране, не се слагат интервали около равното.
Редът на аргументите ти не съвпада с този в дефиницията на Card
.
to_ret
не е добро име за променлива. Спестявайки си няколко символа, просто понижаваш нивото на кода си. По-добре to_return
.
Ако няма да иползваш някаква променлива, имнувай я _
, както е по конвенция.
Реално можеш да напишеш същото и по-кратко:
to_return = self.cards[:num_cards]
self.cards = self.cards[num_cards:]
return to_return
Не съм сигурен, че индексите ми са правилни. не съм го тествал. Може да се наложи +-1 някъде, но това е идеята.
Спокойно можеш да използваш и просто cards
, но това е само пропоръка. Все едно е.
Само идея:
self.players = [Player() for _ in range(self.number_of_players)]
Спокойно можеш да използваш и просто
cards
, но това е само пропоръка. Все едно е.Само идея:
self.players = [Player() for _ in range(self.number_of_players)]