Атанас обнови решението на 21.03.2014 13:22 (преди почти 11 години)
Няма нужда на всеки подклас на Rank
да предефинираш __eq__
. Този метод се наследява от базовия клас. Същото важи и за подкласовете на Suit
.
def __init__(self, collection=[]):
- това е много лоша идея. За подразбираща се стойност на използваш list, което е mutable
Освен тези неща, кода ти е разбираем. Въпреки това, бих те посъветвал да помислиш как да съкратиш решението си.
Hint: с type можеш да си дефинираш класове.
Да разбирам ли, че ако използвам кортеж за подразбираща се стойност т.е.def init(self, collection=()):
гореспоменатият проблем не е на лице?
Също така, защо да не трябва да се предефинира eq
за наследяващите Suit
, като двата метода сравняват различни неща- цветове в единия случай, и имена в другия?
PS: "__" около init
и eq
не излизат като хората