Димитър обнови решението на 22.03.2014 18:33 (преди над 10 години)
Това решение не е финално, качих го, защото нещо не ми е ясно и се надявах, че може да ми помогнете.
Като тествам с тази част, която не е закоментирана, всичко е наред, но ако ползвам тази закоментираната, _ _ str _ _ нещо не работи.
И обратно, ако в клас Card сложа
def _ _ str _ _ (self):
return "Card {0} of {1}".format(self.rank. _ _ name _ _ , self.suit. _ _ name_ _ )
(оставям празни места, защото не ми излизат долните черти)
Та, като ползвам това пък, закоментирата част работи без проблем, а другото казва, че няма такова нещо _ _ name _ _
Мен ми се струва, че е едно и също, но явно не е...
Ще се мъча да го оправя, но ако имате време и желание (знам, че сме 100+ човека), ще се радвам да хвърлите едно око :)
Първо, на ред 38 защо умножаваш по 53? В Питон не е нужно да заделяш памет. Освен това съвсем спокойно можеш да имаш и 104 карти, повтарящи се. И 1040. Не виждам смисъла. Питон е динамичен език който ти заделя сам колкото памет ти трябва, не се тревожи за това в аванс -- само ако някога напишеш питонска програма която заема твърде много памет.
Освен това на редове 137-143 не знам какво искаш да направиш, но там ти се чупи кода.
Решението ти е да напишеш речниците на ръка:
RANKS = {"Ace": Ace, "Two", Two, ... }
Ако не ти се пише пак целия масив с карти и бои пробвай да си правиш класовете с функцията type(). С нея можеш да си направиш цикъл който взима имената на картите и боите като низове от масиви и прави класове с тях :).