SZCZEGÓŁOWY SPIS TREŚCI
PODZIĘKOWANIA
xix
WPROWADZENIE
xxi
Dla kogo jest ta książka? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Co jest w tej książce? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wersja Pythona, platforma i IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Styl kodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gdzie uzyskać pomoc? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Naprzód! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxii xxii xxiv xxv xxv xxv xxvi
1 GENERATOR ZABAWNYCH PSEUDONIMÓW
1
Projekt 1: Generowanie pseudonimów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Planowanie i tworzenie projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Strategia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pseudokod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Korzystanie z przewodnika po stylach tworzonego przez społeczność Pythona Sprawdzanie kodu za pomocą narzędzia Pylint . . . . . . . . . . . . . . . . . . . . . . Opisywanie kodu za pomocą ciągów docstring . . . . . . . . . . . . . . . . . . . . . . Sprawdzanie stylu naszego kodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Materiały dodatkowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pseudokod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Przewodniki po stylach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moduły zewnętrzne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Świńska łacina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wykres słupkowy dla języka angielskiego . . . . . . . . . . . . . . . . . . . . . . . . . . Wyzwania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wykres słupkowy dla języków romańskich . . . . . . . . . . . . . . . . . . . . . . . . . . Drugie imię . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Coś całkowicie innego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 2 3 3 4 6 7 11 12 15 15 15 15 16 16 16 17 17 17 18 18
2 ZNAJDOWANIE ZAKLĘĆ
19
Znajdowanie i otwieranie słownika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Obsługiwanie wyjątków podczas otwierania plików . . . . . . . . . . . . . . . . . . . Wczytywanie pliku słownika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projekt 2: Znajdowanie palindromów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Strategia i pseudokod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Palindromy – kod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20 21 21 23 23 24
Szczegółowy Spis treści
xi