Łamacz koduCzęść II · Struktury danych

Część II z serii · Struktury danych w Pythonie

Kod wygląda dobrze.
Znajdź dane, które go złamią.

Dostaniesz 10 krótkich funkcji na listach, słownikach, zbiorach, kopcach i węzłach, każdą z tezą o tym, co robi. Część działa, część ma błąd. Gra uruchamia pokazany kod naprawdę, więc Twój kontrprzykład albo go złamie, albo nie.

  1. Oceń, czy kod spełnia tezę.
  2. Wskaż linię z błędem albo fałszywą tezę.
  3. Nazwij pułapkę.
  4. Udowodnij to kontrprzykładem i zobacz w rentgenie, co dzieje się w pamięci.
10 kart · ok. 20–30 minut

Ten sam kod sesji daje wszystkim te same karty i osobny ranking grupy. Przy równej liczbie punktów wyżej jest krótszy czas na decyzje. Zegar stoi, kiedy czytasz wyjaśnienie i oglądasz rentgen.

Przykład: macierz jednostkowa

    jednostkowa(2)→[[1, 1], [1, 1]]

    [[0] * n] * n to n odwołań do jednego wiersza, więc jedynka z przekątnej trafia do każdego wiersza. Takich miejsc szukasz w grze.

    Ranking

    Najlepszy wynik każdego pseudonimu. Pod punktami czas na decyzje. Wpisz kod sesji wyżej, żeby zobaczyć ranking grupy.

    Katalog pułapek

    Trzynaście błędów, które najczęściej psują kod na listach, słownikach, zbiorach, kopcach i węzłach. Pułapki, które pojawiły się już w Twoich grach, mają znacznik „spotkana”.