Решение на От ливадите до Лас Вегас (и назад) от Йордан Глигоров
Към профила на Йордан Глигоров
Резултати
- 10 точки от тестове
- 0 бонус точки
- 10 точки общо
- 15 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
............... ---------------------------------------------------------------------- Ran 15 tests in 0.155s OK
История (4 версии и 10 коментара)
Йордан обнови решението на 08.11.2022 22:18 (преди около 2 години)
За конкретния случай мисля, че protected (т.е. една долна черта) е достатъчно, но съм ОК и с две.
spides
трябва да е spades
- ще ти гърмят тестовете за едното typo.
Това едва ли е най-удачният начин да го заявиш. Ако ще се подсигуряваш, че тестето не е празно, може би exception
ще е по-добре. Или пък просто функцията да връща False
. Не е проблем за текущата задача.
Цепенете на тесте не трябва винаги да взима една карта. Трябва да се взимат произволен брой карти.
Този списък вече си дефинирал в Deck
. Струва ми се излишно да го имаш на две места. Помисли как да го избегнеш.
При равно в аргумент на функция не се слагат интервали:
face_filter=['2,'...])
Една идея, тъй като вече учихме генератори. Можеш да си спестиш дефинирането на временния списък players
:
for _ in range(self._number_of_players):
yield Player()
и просто евалюираш генератора по-горе:
self._players = list(self._create_players())
Ако няма да използваш i
, използва _
, за да го индикираш. Просто добра практика.
Освен това range(0, x)
е същото като range(x)
.
Прегледай правилата за интервали при слайсване.
https://peps.python.org/pep-0008/#whitespace-in-expressions-and-statements
Моля слагай интервали след запетаите в tuple
.
Цепенете на тесте не трябва винаги да взима една карта. Трябва да се взимат произволен брой карти.
Една идея, тъй като вече учихме генератори. Можеш да си спестиш дефинирането на временния списък
players
:for _ in range(self._number_of_players): yield Player()
и просто евалюираш генератора по-горе: