SZCZEGÓŁOWY SPIS TREŚCI
PODZIĘKOWANIA
WPROWADZENIE
Dla kogo jest ta książka?
Co jest w tej książce?
Wersja Pythona, platforma i IDE
Styl kodu
Gdzie uzyskać pomoc?
Projekt 1: Generowanie pseudonimów
Projekt 3: Znajdowanie palindromów wielowyrazowych
Projekt 5: Znajdowanie anagramów wielowyrazowych
6: Znajdowanie
8: Szyfr trasowy
Projekt 10: Szyfr Trevaniona
Strategia i pseudokod
Szyfr Trevaniona – kod
Projekt 11: Pisanie ukrytej wiadomości
Szyfr listowy – kod
Szyfr listowy – wynik
Podsumowanie
Materiały dodatkowe
Ratowanie Marii
Projekt 12: Ukrywanie szyfru Vigenère’a
Pobieranie zasobów
Wykrywanie ukrytej wiadomości
dodatkowe
Ćwiczenie: sprawdzanie liczby pustych wierszy
Wyzwanie: korzystanie z czcionki o stałej szerokości znaków
ZA POMOCĄ
najlepszego rozwiązania
Projekt 13: Hodowanie armii superszczurów
15: Zliczanie sylab
Korzystanie z korpusu
Obsługiwanie słów z więcej niż jedną wymową
czy nie haikować
CZY JESTEŚMY SAMI? POZNAWANIE PARADOKSU FERMIEGO
Projekt 17: Modelowanie Drogi Mlecznej
Strategia .
Szacowanie liczby cywilizacji
Wybieranie rozmiaru bąbla fal radiowych
Generowanie wzoru dla prawdopodobieństwa wykrycia
Prawdopodobieństwo wykrycia – kod
Obliczanie prawdopodobieństwa wykrycia dla zakresu cywilizacji
Generowanie wzoru predykcyjnego i sprawdzanie rezultatów
Tworzenie modelu graficznego
Skalowanie modelu graficznego
galaktyki – kod
Rezultaty
Materiały dodatkowe
galaktycznego imperium
z poprzeczką
Projekt 18: Weryfikacja vos Savant
19: Gra Monty’ego Halla
wprowadzenie do programowania obiektowego
i pseudokod
gry
dodatkowe
Ćwiczenie: paradoks dnia urodzin
Importowanie modułów i definiowanie funkcji do wczytywania i pobierania danych od użytkownika
danych od użytkownika
każdego roku w przypadku
Podsumowanie
Materiały dodatkowe
Wyzwania
Obraz jest wart tysiąca dolarów
POZAZIEMSKIEGO WULKANU
Projekt 21: Pióropusze Io
Pakiet pygame
Planowanie za pomocą szkicu gry
brzegowych
odległość
Importowanie i tworzenie tabeli kolorów
Definiowanie metody inicjalizacyjnej klasy Satellite
Ustawianie początkowego położenia, prędkości, paliwa i dźwięku dla satelity
Odpalanie silników i oczekiwanie na reakcję gracza
Lokalizowanie satelity
Obracanie satelity i rysowanie jego orbity
obiektu satelity
Definiowanie metody inicjalizacyjnej klasy Planet
planety
Definiowanie metod gravity() i update()
Obliczanie mimośrodu
Definiowanie funkcji do tworzenia etykiet
wilgotności gleby
Definiowanie funkcji main()
Tworzenie obiektów, przygotowywanie weryfikacji orbity, odwzorowywania i pomiarów czasu
Rozpoczynanie pętli gry i odtwarzanie dźwięków
Stosowanie grawitacji, obliczanie mimośrodu i obsługiwanie porażek
Nagradzanie sukcesu oraz aktualizowanie i rysowanie duszków
instrukcji i telemetrii oraz rzucanie cienia
Projekt 23: Uśrednianie Jowisza
Projekt 24: Prawo Benforda dotyczące wiodących cyfr
Stosowanie prawa Benforda
testu chi kwadrat
Zbiór danych
modułów i wczytywanie danych
Zliczanie pierwszych cyfr
oczekiwanych liczników
Ustalanie zgodności rozkładów
Definiowane funkcji wykresu słupkowego
Kończenie funkcji wykresu słupkowego
Definiowanie i uruchamianie funkcji main()
Podsumowanie
Materiały dodatkowe
Ćwiczenie: pokonywanie Benforda
Stosowanie prawa Benforda w wahających się stanach
Gdy nikt nie patrzył
DODATEK:
Rozdział 1: Generator zabawnych pseudonimów
Rozdział 2: Znajdowanie zaklęć
Rozdział 3: Rozwiązywanie anagramów
Rozdział 4: Dekodowanie szyfrów z amerykańskiej wojny domowej
Rozdział 5: Kodowanie szyfrów z brytyjskiej wojny domowej 403
Rozdział 8: Zliczanie sylab w wierszach haiku
Rozdział 10: Czy jesteśmy sami? Odkrywanie paradoksu Fermiego 408
Rozdział 11: Problem Monty’ego Halla
Rozdział 13: Symulowanie pozaziemskiego wulkanu
Rozdział 16: Znajdowanie oszustw za pomocą prawa Benforda
pygame Pylint pydocstyle tkinter python-docx matplotlib i pillow
wej
napisanie Elementary
planet os i shutil
prawa Benforda
najlepsze
matplotlib
Integrated Development and Learning Environment zintegroL
genie
https://wiki. python.org/moin/DevelopmentTools/
Kod
https://www.nostarch.com/impracticalpython/
Enhancement Proposal 8
CEL
Użyj algorytmu genetycznego do zasymulowania hodowli szczurów o średniej wadze do 110 funtów (około 50 kg).
Strategia
Naszym marzeniem jest wyhodowanie rasy szczurów o rozmiarze psów rasy Bulmastif (ustaliliśmy już, że jesteśmy szaleni). Zaczniemy od rasy rattus norvegicus, szczura wędrownego, a potem dodamy pewne sztuczne słodziki, odrobinę promieniowania jądrowego z lat 50., sporą ilość cierpliwości i szczyptę Pythona, ale bez inżynierii genetycznej – jesteśmy oldschoolowi! Szczury o masie zaledwie 0,5 kg urosną do przerażających 50 kg, czyli do masy przeciętnej suczki rasy Bulmastif (patrz rys. 7.1).
Rysunek 7.1. Porównanie rozmiarów szczura wędrownego, psa rasy Bulmastif i człowieka
Zanim rozpoczniemy to olbrzymie przedsięwzięcie, powinniśmy zasymulować rezultaty w Pythonie. Stworzyliśmy w tym celu coś lepszego niż plan –narysowaliśmy pewien graficzny pseudokod (patrz rys. 7.2).
Dominanta
MinimumMaksimum
Powtarzaj
Zapełnij: Stwórz początkową populację i zakres wag.
Min
Max
Oceń: przydatność poprzez porównanie średniej wagi populacji do wagi docelowej.
Wybierz: odrzuć najmniejsze okazy samców i samic.
Rozmnóż: Odbuduj populację przy użyciu losowych wag na podstawie zakresu wag wybranych szczurów.
Mutuj: Losowo zmień wagi kilku szczurów. Większość wyników redukuje wagę.
Rysunek 7.2. Podejście algorytmu genetycznego do hodowania superszczurów
Proces pokazany na rysunku 7.2 nakreśla sposób działania algorytmu genetycznego. Naszym celem jest wyprodukowanie populacji superszczurów o średniej wadze 50 kilogramów z początkowej populacji ważącej o wiele mniej. W miarę postępu, każda kolejna populacja (lub generacja) szczurów reprezentuje rozwiązanie kandydujące dla tego problemu. Jak każdy hodowca zwierząt, będziemy odrzucać niepożądane osobniki płci męskiej i żeńskiej, które humanitarnie wysyłać będziemy – to dla Was fani Austina Powersa
Manewr transferowy Hohmanna i
Kierunek orbitalny
Elipsa transferu
Orbita początkowa

Drugie odpalenie silników przy kierunku wstecznym
Orbita końcowa

Pierwsze odpalenie silników przy kierunku wstecznym
Orbita końcowa
Orbita początkowa
Kierunek orbitalny
Elipsa transferu


Transfer spiralny










Kierunek orbitalny