- -5%
ebook Python mniej poważnie
Lee Vaughan
Wydawca:
Wydawnictwo Naukowe PWN
Rok wydania:
2020
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ń.
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ń.
Spis treści ebooka Python mniej poważnie
PODZIĘKOWANIA xixWPROWADZENIE 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
Szczegóły ebooka Python mniej poważnie
- Wydawca:
- Wydawnictwo Naukowe PWN
- Rok wydania:
- 2020
- Typ publikacji:
- Ebook
- Język:
- polski
- Format:
- mobi,epub
- ISBN:
- 978-83-01-20998-8
- ISBN wersji papierowej:
- 978-83-01-20985-8
- Wydanie:
- 1
- Autorzy:
- Lee Vaughan
- Tłumacze:
- Krzysztof Kapustka
- Miejsce wydania:
- Warszawa
- Liczba Stron:
- 450
Recenzje ebooka Python mniej poważnie
-
Reviews (0)
Na jakich urządzeniach mogę czytać ebooki?
Na czytnikach Kindle, PocketBook, Kobo i innych
Na komputerach stacjonarnych i laptopach
Na telefonach z systemem ANDROID lub iOS
Na wszystkich urządzeniach obsługujących format plików PDF, Mobi, EPub
- -5%
-5%
94,00 zł
89,42 zł
@CUSTOMER_NAME@
@COMMENT_TITLE@
@COMMENT_COMMENT@