100856893

Page 1


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

Pylint i pydocstyle

wej

napisanie Elementary

Clint Eastwood old west action
haiku

planet os i shutil

prawa Benforda

najlepsze

matplotlib

Integrated Development and Learning Environment zintegroL

Wersja Pythona, platforma i IDE
Monty Pythona

genie

https://wiki. python.org/moin/DevelopmentTools/

Kod

https://www.nostarch.com/impracticalpython/

Enhancement Proposal 8

Styl kodu Python

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

Impuls

Orbita końcowa

Orbita początkowa

Kierunek orbitalny

Elipsa transferu

Transfer spiralny

Kierunek orbitalny

Drugi impuls silnika
Pierwszy impuls silnika

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.