Трето домашно

  1. Тъй като на доста места оставих коментар по темата за private и protected, а на някои бяха зададени допълнителни въпроси, опитах да дам отговор в тази хитринка.

    Имайте предвид, че няма да взимаме точки за решения, които не следват тези правила, но все пак искам да ги обощя, за да знаете какво се очаква да следвате в реален проект.

    Обосновал съм дефиницията си с външни материали, така че смятам, че е напълно обективна. Ако смятате, че давам погрешна или неясна информация, чувствайте се поканени да коментирате и да обсъдим.

  2. Относно метода deal. Още ми е малко объркано как точно се случва раздаването. Ако примерно имам [player1, player2,player3,player4,player5] и ми се каже , че раздаването е 'ltr' и започва от player3, значи ли, че последователността, в която се раздава е [player3,player2,player1,player5,player4] ?

  3. @Надежда, начинът, по който външен код (разбирай тестовете ни) проверява какъв е редът на играчите ти, е само чрез get_players(), така че като казваш "имам [player1, player2, player3, player4, player5]", приемам, че това е резултатът, който връщаш в тази функция. Това е само уговорка, че сме на едно мнение какво значи, че имаш конкретен списък с играчи.
    По дефиниция get_players връща играчите в ред "от ляво надясно", или иначе казано "ltr".
    Ако искам да раздам карти в игра, която е ltr, това значи, че редът трябва да е същият, който си върнала от get_players. Просто започваш от конкретен играч.
    В конкретният ти пример, ако играчите са "[player1, player2, player3, player4, player5]" (като резултат от get_players), посоката е "ltr", а играчът, който получава deal като аргумент е "player3", редът на раздаване е "[player3, player4, player5, player1, player2]".
    Ако посоката на раздаване е обратно - "rtl", тогава раздаването трябва да е в реда "[player3, player2, player1, player5, player4]".

  4. ▒▓╣p╠▓▓╢█▓▒╠▓█▓▒░░▒▒▒▒▒▒█▓▓╣▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒╣╣╣▓▓██╢╣╫╣╢╣╢╢╣╢╣╣╢▓▓▓▓╢╫▓▓▓▓▓▓╣╫
    ▒▓╢▒▒▓▓╢█▓▒▓▓█▒▒▒▒▒▒▒▒▒▒█▓▓╣▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒╣╣╣╢╫▓▓█▓╣╢╫╢╣╢╢╣╫▓▓▓▓▓▓╬▓╣╣╣▓▓▓▓╣╢
    ▒▓╣╖╔▓▓╢▓▓▒▓██▓╢▒▒▒▒▒▒▒▓█▓▌▒▒▒▒╢╫╫▓▓▓▓▒▒▒╢╢▓▓▓▓▓╣╫▓███▓▓▓▓▓▓▓▓▓▓╣▓▓▓▓▓▓╣▓▓▓▓▓▓╣╫
    ▒▓╣╢╢▓▓╢▓▓▒▓▓█▒▒▒▒▒▒╣▒╣██▓▒▒▓▓▓▓▓▓████▓▒▒▓█▓█████▓▓▓██▓▓▓▓▓▓▓▓▓▓▓██▓▒▒╣╢▓▒▓▓█▓╣╫
    ▒▓╢▒▒▓▓╢▓▓▒▐██▓╢▒▒▒▒▒▒╢▓▓▓▒▓▓▓███████▓▓▌▒▒███████████▓╣╣╢╣╣╣╢╣╣╣╣╣╣╣╣╬▓╢╢▓▓▓▓▌╣▓
    ▒▓╣╣╣▓▓╢▓▓▒▓▓█▒▒▒▒▒▒▒╫▓▒▒▓▒▓╣╢▓█████▓█▒▒▒▒▓██████████▓▓╣╢╣▒╢╣╢╣╣╢╣╣╣╢╣╣▓▓╣▓▓▓▓╢▓
    ▒▓╣╜║▓▓╢▓▓▒▓██▓╢▒▒▒╢▒▒▒▒╢╢▒▒▒╫▓▓▓▓▓▓▓▌▒▒▒▒▓▓▓▓▓▓▓▄▓▓█▓▓╣╣╣╣╣╣╣╣╣╣╣╢╣╢╢╣▓▓▓▓▓▓▓╢▓
    ▒▓╢╬╬▓▓╢▓▓▒▓██▒▒▒▒▒▒╣▒▒▒▒╢▒▒▒▒▒▒╟╣▓╣▒▒▒░▒▒╢╢▓▓▓▓▓▓▓▓▓▓▓▓╣╣╣╣▓▓▓▓▓▓╢╢╣╣▓▓▓▓▓▓▓╣╫▓
    ▒▓╣▀▀▓▓▓▓▓▒▓██▓▓▒▒▒▒▒▒▒▒▒╢╣▒▒▒▒▒╢▓▒▒▒▓▓▒▒▓▓▓▓▓▓╣╢▓▓▓▓▓▓╣╫▓╣╢╢▓▓▓▓▓╣╣╣▓▓▓▓▓▓▓▓╣╫▓
    ▒▓╢╣╫▓▓▓▓▓▒▓██▒▒▒▒▒▒▒╣▒╣▓▓╢▒▒▒╢▓▒▒▒▒▒▒╣▓▓████▓▓▓╢▓▓▓▓▓▓▓╢▓▓▓▓▓▓▓▓▓╣▓▓▓▓▓▓▓▓▓▓▓╫▓
    ▒▓╣╬╬▓▓╢▓▓▒▓██▓╢▒╣▒╢╣╣╣╣▓█▓╣╣╣▒▒▒▒▒╬▒╣▒▒▒▓▓▓▓▓▓▓╣▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
    ▒▓╢╣╫▓▓▒▓▓▒▓▓█▒▒▒▒╣╣╣╣╣╫▓█▓▒╢▒╫▒▒▒▒▒▒▒▒▒▒▒╢▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
    ╣▓╫▒▒▓▓▒█▓▒▓██╣╣▒▒▒▒╣▒╣╣▓╣▓▒▒╣╣╣▒▒▒▒▒▒╫▓▓▓▓▓▓▓▓▓█▓█▓█████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
    ╣▓╢╫╦▓▓▒█▓▒▓██▒▒▒╣╣╢╢╣╣╬╨▒▒▒╣▓▓▓▓╣▒▒▒▒▒▒▒╢╣╢╢▓▓██▓█▒▓██████████████▓▓▓▓▓▓▓▓▓▓▓▓▓
    ╣▓╫╣╢▓▓▓█▓▌▓██╣╫╢╣╢╣╣╣▒▒▒▒▒╫║╢╫▓▓▓▓╣╢▒▒▒╢╣╢▓▓██▓▓▓██▓▓██████████████████▓▓▓▓▓▓▓▓
    ╣▓╢▒▒▓▓▓█▓▌▓██▒▒╢╣╢▒▓╣▒╢▓╬▓██╣╣╫▓▓▓█▓▓▓▓▓▓███▓▓▓████▒▓▓███████████████████▓▓▓▓▓▓
    ╣▓╫▓▀▓▓▓█▓▌▀▒░░▒▒▒▒▒▒▒▓▓▓▓██▓╣╣╣╢╢▓▓▓▓▓▓▓▓▓▓▓████████▓▓▓██████████████████████▓▓
    ╣▓╣▒║▓▀▒▒▒░▒▒▒▒▒▒▒▒▒▒╢╢▓▀▐██▓╣╣╣╣╢╣╫▓▓▓▓▓▓▓▓█████████▓▓▓╣███████████████████████
    ╢▓▓▒▒▒▒▒░░░░░░░▒▒╢╢╣╣╣╢▓▒▐███▌╣╢╣╣╣╣╢╢▓▓▓▓▓▓████████████▄▒████▓█████████████████
    ╣▒░░░░▒▒▒▒▒▒╢╢╣╣╣╣╣╣╣╫▓╣╫█████▓▒╢╢╣╣╣╢╢╫▓▓▓▓▓███████████████████████████████████
    

    Малко Лас Вегас - Лондон тестове: https://github.com/Backpulver/Introduction-to-Python/blob/main/hw3_test.py

  5. Въпрос относно тестовете как проверявате за рандъм функциите в смисал как да ги импортнем само 2та метода които ни трябват ака shuffle И randint или да ги пишем като random.shuffle и randome.randint

Трябва да сте влезли в системата, за да може да отговаряте на теми.