Python mniej poważnie

Zabawne projekty programistyczne, które zwiększą Twoje umiejętności

1 ocena

Format:

epub, mobi, ibuk

DODAJ DO ABONAMENTU

WYBIERZ RODZAJ DOSTĘPU

65,80  94,00

Format: epub, mobi

 

Dostęp online przez myIBUK

WYBIERZ DŁUGOŚĆ DOSTĘPU

Cena początkowa: 94,00 zł (-30%)

Najniższa cena z 30 dni: 65,80 zł  


65,80

w tym VAT

TA KSIĄŻKA JEST W ABONAMENCIE

Już od 24,90 zł miesięcznie za 5 ebooków!

WYBIERZ SWÓJ ABONAMENT

Książka to zbiór zabawnych i edukacyjnych ćwiczeń zaprojektowanych w taki sposób, aby bawić programistów i jednocześnie zwiększać ich umiejętności związane z programowaniem w Pythonie. Przygoda zaczyna się tam, gdzie kończą się książki dla początkujących. Publikacja rozwija istniejące koncepcje i wprowadza nowe narzędzia, z których będziesz korzystać każdego dnia. Dla jeszcze ciekawszego efektu, każdy projekt zawiera nieoczekiwany zwrot wydarzeń historycznych, odwołań do popkultury i literackich aluzji.
Użyjesz darmowych modułów jak Tkinter, matplotlib, Cprofile, Pylint, Pygame, Pillow i Python-Docx.
Usprawnisz swoje umiejętności związane z rozwiązywaniem problemów i zaangażujesz wiele użytecznych bibliotek Pythona do rozwiązywania ciekawych zadań.


Rok wydania2020
Liczba stron450
KategoriaJęzyki programowania
WydawcaWydawnictwo Naukowe PWN
TłumaczenieKrzysztof Kapustka
ISBN-13978-83-01-20998-8
Numer wydania1
Język publikacjipolski
Informacja o sprzedawcyePWN sp. z o.o.

Ciekawe propozycje

Spis treści

  PODZIĘKOWANIA xix
  WPROWADZENIE xxi
  Dla kogo jest ta książka? xxii
  Co jest w tej książce? xxii
    Wersja Pythona, platforma i IDE xxiv
    Kod xxv
    Styl kodu xxv
  Gdzie uzyskać pomoc? xxv
  Naprzód! xxvi
  1. GENERATOR ZABAWNYCH PSEUDONIMÓW 1
  Projekt 1: Generowanie pseudonimów 2
  Planowanie i tworzenie projektu 2
    Strategia 3
    Pseudokod 3
  Kod 4
    Korzystanie z przewodnika po stylach tworzonego przez społeczność Pythona 6
    Sprawdzanie kodu za pomocą narzędzia Pylint 7
    Opisywanie kodu za pomocą ciągów docstring 11
    Sprawdzanie stylu naszego kodu 12
  Podsumowanie 15
  Materiały dodatkowe 15
    Pseudokod 15
    Przewodniki po stylach 15
    Moduły zewnętrzne 16
  Ćwiczenia 16
    Świńska łacina 16
    Wykres słupkowy dla języka angielskiego 17
  Wyzwania 17
    Wykres słupkowy dla języków romańskich 17
    Drugie imię 18
    Coś całkowicie innego 18
  2. ZNAJDOWANIE ZAKLĘĆ 19
  Znajdowanie i otwieranie słownika 20
    Obsługiwanie wyjątków podczas otwierania plików 21
    Wczytywanie pliku słownika 21
  Projekt 2: Znajdowanie palindromów 23
    Strategia i pseudokod 23
    Palindromy – kod 24
  Projekt 3: Znajdowanie palindromów wielowyrazowych 25
    Strategia i pseudokod 26
    Palindromy wielowyrazowe – kod 29
    Profilowanie palindromów 30
    Optymalizacja palindromów 32
  ceinoK 34
  Materiały dodatkowe 34
  Ćwiczenie: oczyszczanie słownika 34
  Wyzwanie: podejście rekurencyjne 35
  3. ROZWIĄZYWANIE ANAGRAMÓW 37
  Projekt 4: Znajdowanie anagramów jednowyrazowych 38
    Strategia i pseudokod 38
    Znajdowanie anagramów – kod 40
  Projekt 5: Znajdowanie anagramów wielowyrazowych 42
    Strategia i pseudokod 42
    Kod anagramów wielowyrazowych 46
  Projekt 6: Znajdowanie Voldemorta – galijski gambit 52
  Projekt 7: Znajdowanie Voldemorta: brytyjska metoda siłowa 54
    Strategia 55
    Kod brytyjskiej metody siłowej 57
  Podsumowanie 65
  Materiały dodatkowe 65
  Ćwiczenie: znajdowanie dwuznaków 65
  Wyzwanie: automatyczny generator anagramów 66
  4. DEKODOWANIE SZYFRÓW Z AMERYKAŃSKIEJ WOJNY DOMOWEJ 67
  Projekt 8: Szyfr trasowy 68
    Strategia 70
    Pseudokod 73
    Dekodowanie szyfru trasowego – kod 73
    Łamanie szyfru trasowego 76
    Dodawanie interfejsu użytkownika 78
  Projekt 9: Szyfr płotkowy 84
    Strategia 86
    Szyfrowanie szyfrem płotkowym – kod 86
    Dekodowanie szyfru płotkowego – kod 89
  Podsumowanie 92
  Materiały dodatkowe 92
  Ćwiczenia 92
    Rozszyfrowywanie komunikatu Lincolna 93
    Identyfikowanie rodzajów szyfrów 93
    Przechowywanie klucza w formie słownika 93
    Automatyzowanie możliwych kluczy 93
    Przestawieniowy szyfr trasowy: atak siłowy 94
  Wyzwania 95
    Narzędzie do kodowania szyfrem trasowym 95
    Szyfr płotkowy z trzema sztachetami 96
  5. KODOWANIE SZYFRÓW Z BRYTYJSKIEJ WOJNY DOMOWEJ 97
  Projekt 10: Szyfr Trevaniona 98
    Strategia i pseudokod 99
    Szyfr Trevaniona – kod 100
  Projekt 11: Pisanie ukrytej wiadomości 104
    Szyfr listowy – kod 105
    Szyfr listowy – wynik 107
  Podsumowanie 108
  Materiały dodatkowe 108
  Ćwiczenia 108
    Ratowanie Marii 108
    Złapanie w zamku Colchester 109
  6. PISANIE ATRAMENTEM SYMPATYCZNYM 111
  Projekt 12: Ukrywanie szyfru Vigenère’a 112
  Platforma 113
  Strategia 114
    Tworzenie atramentu sympatycznego 114
    Operowanie dokumentami programu Word z użyciem modułu python-docx 117
    Pobieranie zasobów 119
  Pseudokod 120
  Kod 121
    Formatowanie i przeplatanie wiadomości 122
    Dodawania szyfru Vigenère’a 125
  Wykrywanie ukrytej wiadomości 127
  Podsumowanie 130
  Materiały dodatkowe 130
  Ćwiczenie: sprawdzanie liczby pustych wierszy 131
  Wyzwanie: korzystanie z czcionki o stałej szerokości znaków 131
  7. HODOWANIE OLBRZYMICH SZCZURÓW ZA POMOCĄ ALGORYTMÓW GENETYCZNYCH 133
  Znajdowanie najlepszego rozwiązania 134
  Projekt 13: Hodowanie armii superszczurów 134
    Strategia 135
    Superszczury – kod 138
    Podsumowanie 145
  Projekt 14: Łamanie kodu zaawansowanego technicznie sejfu 146
    Strategia 148
    Łamacz kodów sejfów – kod 149
    Podsumowanie 152
  Materiały dodatkowe 153
  Wyzwania 153
    Tworzenie szczurzego haremu 153
    Tworzenie bardziej wydajnego łamacza kodów sejfów 153
  8. ZLICZANIE SYLAB W WIERSZACH HAIKU 155
  Japońskie haiku 156
  Projekt 15: Zliczanie sylab 157
  Strategia 157
    Korzystanie z korpusu 158
    Instalowanie NLTK 158
    Pobieranie słownika CMUdict 159
    Zliczanie dźwięków zamiast sylab 160
    Obsługiwanie słów z więcej niż jedną wymową 160
  Zarządzanie brakującymi słowami 161
    Korpus szkoleniowy 161
    Brakujące słowa – kod 161
  Zliczanie sylab – kod 167
    Przygotowanie, wczytywanie i zliczanie 167
    Definiowanie funkcji main() 169
  Program do sprawdzania naszego programu 169
  Podsumowanie 170
  Materiały dodatkowe 171
  Ćwiczenie: zliczanie sylab a plik słownika 171
  9. PISANIE HAIKU Z UŻYCIEM ŁAŃCUCHÓW MARKOWA 173
  Projekt 16: Analiza z użyciem łańcuchów Markowa 174
  Strategia 177
    Wybieranie i odrzucanie słów 177
    Kontynuacja z jednego wersu do drugiego 179
  Pseudokod 179
  Korpus szkoleniowy 180
  Debugowanie 181
    Budowanie rusztowania 182
    Rejestrowanie za pomocą modułu logging 182
  Kod 183
    Przygotowanie 183
    Tworzenie modeli Markowa 184
    Wybieranie losowego słowa 186
    Stosowanie modeli Markowa 187
    Generowanie wersów haiku 188
    Pisanie interfejsu użytkownika 191
  Wyniki 194
    Dobre haiku 195
    Inicjator haiku 196
  Podsumowanie 197
  Materiały dodatkowe 197
  Wyzwania 198
    Generator nowych słów 198
    Test Turinga 198
    Niewiarygodne! To niewiarygodne! Niewiarygodne! 199
    Haikować czy nie haikować 200
    Muzyka Markowa 200
  10. CZY JESTEŚMY SAMI? POZNAWANIE PARADOKSU FERMIEGO 201
  Projekt 17: Modelowanie Drogi Mlecznej 202
  Strategia 203
  Szacowanie liczby cywilizacji 204
  Wybieranie rozmiaru bąbla fal radiowych 205
  Generowanie wzoru dla prawdopodobieństwa wykrycia 206
  Prawdopodobieństwo wykrycia – kod 208
    Obliczanie prawdopodobieństwa wykrycia dla zakresu cywilizacji 209
    Generowanie wzoru predykcyjnego i sprawdzanie rezultatów 211
  Tworzenie modelu graficznego 213
    Skalowanie modelu graficznego 215
    Symulator galaktyki – kod 216
  Rezultaty 226
  Podsumowanie 227
  Materiały dodatkowe 227
  Ćwiczenia 227
    Bardzo odległa galaktyka 227
    Tworzenie galaktycznego imperium 228
    Okrężny sposób przewidywania wykrywalności 229
  Wyzwania 229
    Tworzenie galaktyki spiralnej z poprzeczką 230
    Dodawanie stref zamieszkiwalnych do naszej galaktyki 230
  11. PROBLEM MONTY’EGO HALLA 233
  Symulacja Monte Carlo 234
  Projekt 18: Weryfikacja vos Savant 236
    Strategia 236
    Weryfikacja vos Savant – kod 237
  Projekt 19: Gra Monty’ego Halla 239
    Krótkie wprowadzenie do programowania obiektowego 239
    Strategia i pseudokod 243
    Zasoby gry 244
    Gra Monty’ego Halla - kod 245
  Podsumowanie 255
  Materiały dodatkowe 255
  Ćwiczenie: paradoks dnia urodzin 256
  12. ZABEZPIECZANIE KWOTY NA SPECJALNY CEL 257
  Projekt 20: Symulowanie życia na emeryturze 258
  Strategia 258
    Historyczne zwroty mają znaczenie 261
    Największa niepewność 264
    Jakościowy sposób prezentowania wyników 265
  Pseudokod 267
  Wyszukiwanie danych historycznych 268
  Kod 269
    Importowanie modułów i definiowanie funkcji do wczytywania i pobierania danych od użytkownika 269
    Pobieranie danych od użytkownika 270
    Sprawdzanie pod kątem pozostałych błędów 272
    Definiowanie silnika Monte Carlo 273
    Symulowanie każdego roku w przypadku 276
    Obliczanie prawdopodobieństwa ruiny 277
    Definiowanie i wywoływanie funkcji main() 278
    Korzystanie z symulatora 279
  Podsumowanie 283
  Materiały dodatkowe 283
  Wyzwania 284
    Obraz jest wart tysiąca dolarów 284
    Mieszanka 284
    Po prostu mam szczęście! 285
    Cała pula 285
  13. SYMULOWANIE POZAZIEMSKIEGO WULKANU 287
  Projekt 21: Pióropusze Io 288
  Pakiet pygame 289
  Strategia 290
    Planowanie za pomocą szkicu gry 290
    Planowanie klasy Particle 291
  Kod 293
    Importowanie modułów, inicjalizacja pygame i definiowanie kolorów 293
    Definiowanie klasy Particle 294
    Wyrzucanie cząsteczki 296
    Aktualizowanie cząsteczki i obsługa warunków brzegowych 298
    Definiowanie funkcji main() 299
    Kończenie funkcji main() 301
  Uruchamianie symulacji 303
  Podsumowanie 304
  Materiały dodatkowe 304
  Ćwiczenie: odległość 304
  Wyzwania 305
    Baldachim pióropusza 305
    Źródło 306
    Pocisk 306
  14. ODWZOROWYWANIE MARSA PRZY UŻYCIU SONDY MARS ORBITER 307
  Astrodynamika dla graczy 308
    Prawo powszechnego ciążenia 308
    Prawo Keplera dotyczące ruchu planet 309
    Mechanika orbitalna 310
  Projekt 22: Gra Mars Orbiter 315
  Strategia 315
  Zasoby gry 318
  Kod 319
    Importowanie i tworzenie tabeli kolorów 320
    Definiowanie metody inicjalizacyjnej klasy Satellite 320
    Ustawianie początkowego położenia, prędkości, paliwa i dźwięku dla satelity 322
    Odpalanie silników i oczekiwanie na reakcję gracza 323
    Lokalizowanie satelity 324
    Obracanie satelity i rysowanie jego orbity 325
    Aktualizowanie obiektu satelity 326
    Definiowanie metody inicjalizacyjnej klasy Planet 327
    Obracanie planety 329
    Definiowanie metod gravity() i update() 330
    Obliczanie mimośrodu 332
    Definiowanie funkcji do tworzenia etykiet 332
    Odwzorowanie wilgotności gleby 334
    Rzucanie cienia 335
    Definiowanie funkcji main() 336
    Tworzenie obiektów, przygotowywanie weryfikacji orbity, odwzorowywania i pomiarów czasu 337
    Rozpoczynanie pętli gry i odtwarzanie dźwięków 339
    Stosowanie grawitacji, obliczanie mimośrodu i obsługiwanie porażek 340
    Nagradzanie sukcesu oraz aktualizowanie i rysowanie duszków 342
    Wyświetlanie instrukcji i telemetrii oraz rzucanie cienia 342
  Podsumowanie 344
  Wyzwania 344
    Ekran tytułowy gry 344
    Inteligentne wskaźniki 345
    Zanik łączności 345
    Punkty 345
    Przewodnik strategiczny 345
    Hamowanie aerodynamiczne 345
    Alarm o intruzie! 347
    Z góry 347
  15. POPRAWIANIE ASTROFOTOGRAFII ZA POMOCĄ UŚREDNIANIA PLANET 349
  Projekt 23: Uśrednianie Jowisza 350
  Moduł pillow 351
  Praca z plikami i folderami 351
    Ścieżki do katalogów 352
    Moduł Shell Utilities 354
  Wideo 354
  Strategia 356
  Kod 356
    Kadrowanie i skalowanie 356
    Uśrednianie 362
    Poprawianie 365
  Podsumowanie 368
  Materiały dodatkowe 369
  Wyzwanie: zniknięcie 369
  16. WYKRYWANIE OSZUSTW ZA POMOCĄ PRAWA BENFORDA 373
  Projekt 24: Prawo Benforda dotyczące wiodących cyfr 374
    Stosowanie prawa Benforda 376
    Wykonywanie testu chi kwadrat 378
  Zbiór danych 380
  Strategia 381
  Kod 381
    Importowanie modułów i wczytywanie danych 382
    Zliczanie pierwszych cyfr 383
    Pobieranie oczekiwanych liczników 384
    Ustalanie zgodności rozkładów 385
    Definiowane funkcji wykresu słupkowego 386
    Kończenie funkcji wykresu słupkowego 387
    Definiowanie i uruchamianie funkcji main() 388
  Podsumowanie 391
  Materiały dodatkowe 392
  Ćwiczenie: pokonywanie Benforda 392
  Wyzwania 394
    Stosowanie prawa Benforda w wahających się stanach 394
    Gdy nikt nie patrzył 394
  DODATEK: ROZWIĄZANIA ĆWICZEŃ 395
  Rozdział 1: Generator zabawnych pseudonimów 395
  Rozdział 2: Znajdowanie zaklęć 397
  Rozdział 3: Rozwiązywanie anagramów 397
  Rozdział 4: Dekodowanie szyfrów z amerykańskiej wojny domowej 398
  Rozdział 5: Kodowanie szyfrów z brytyjskiej wojny domowej 403
  Rozdział 8: Zliczanie sylab w wierszach haiku 407
  Rozdział 10: Czy jesteśmy sami? Odkrywanie paradoksu Fermiego 408
  Rozdział 11: Problem Monty’ego Halla 413
  Rozdział 13: Symulowanie pozaziemskiego wulkanu 414
  Rozdział 16: Znajdowanie oszustw za pomocą prawa Benforda 416
  INDEKS 419
RozwińZwiń