Python_14_tworczych_projektow_dla_dociekliwych_programistow_pythtp.pdf

(1523 KB) Pobierz
Tytuł oryginału: Python Playground: Geeky Projects for the Curious Programmer
Tłumaczenie: Lech Lachowski
ISBN: 978-83-283-2597-5
Copyright © 2016 by Mahesh Venkitachalam
Title of English-language original: Python Playground, ISBN 978-1-59327-604-1,
published by No Starch Press.
Polish-language edition copyright © 2016 by Helion SA
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/pythtp
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
PODZI KOWANIA ................................................................................... 15
WPROWADZENIE ..................................................................................... 17
Dla kogo jest ta ksi ka? .........................................................................................................17
Jaka jest zawarto ksi ki? ....................................................................................................18
Cz
I. Rozgrzewka ..........................................................................................................18
Cz
II. Symulacja ycia ....................................................................................................18
Cz
III. Zabawy z obrazami ............................................................................................18
Cz
IV. Grafika 3D ..........................................................................................................18
Cz
V. Projekty z wykorzystaniem sprz tu ....................................................................19
Dlaczego Python? ...................................................................................................................19
Wersje Pythona ..................................................................................................................20
Kod zamieszczony w ksi ce .............................................................................................20
Cz
I. Rozgrzewka
1
PARSOWANIE LIST ODTWARZANIA PROGRAMU ITUNES ...................... 25
Anatomia pliku listy odtwarzania iTunes ................................................................................26
Wymagania .............................................................................................................................27
Kod .........................................................................................................................................27
Znajdowanie duplikatów ....................................................................................................28
Wyodr bnianie duplikatów ................................................................................................29
Wyszukiwanie utworów wspólnych dla wielu list odtwarzania .........................................30
Gromadzenie danych statystycznych .................................................................................31
Prezentowanie danych .......................................................................................................31
Opcje wiersza polece .......................................................................................................32
Kompletny kod .......................................................................................................................34
Uruchamianie programu ........................................................................................................37
Podsumowanie .......................................................................................................................38
Eksperymenty! .......................................................................................................................38
Kup książkę
Poleć książkę
2
SPIROGRAFY ............................................................................................ 39
Równania parametryczne ...................................................................................................... 40
Równania spirografu .......................................................................................................... 41
ó wia grafika .................................................................................................................... 44
Wymagania ............................................................................................................................ 45
Kod ........................................................................................................................................ 45
Konstruktor Spiro .............................................................................................................. 45
Funkcje konfiguracyjne ...................................................................................................... 46
Metoda restart() ................................................................................................................ 47
Metoda draw() ................................................................................................................... 47
Tworzenie animacji ........................................................................................................... 48
Klasa SpiroAnimator .......................................................................................................... 48
Metoda genRandomParams() ............................................................................................ 49
Ponowne uruchamianie programu .................................................................................... 50
Metoda update() ................................................................................................................ 50
Wy wietlanie lub ukrywanie kursora ................................................................................. 51
Zapisywanie krzywych ...................................................................................................... 51
Parsowanie argumentów wiersza polece i inicjowanie ................................................... 52
Kompletny kod ...................................................................................................................... 54
Uruchomienie animacji spirografu ......................................................................................... 58
Podsumowanie ...................................................................................................................... 60
Eksperymenty! ....................................................................................................................... 60
Cz
II. Symulacja ycia
3
GRA W YCIE ........................................................................................... 63
Jak to dzia a? .......................................................................................................................... 64
Wymagania ............................................................................................................................ 66
Kod ........................................................................................................................................ 66
Reprezentacja planszy ....................................................................................................... 66
Warunki pocz tkowe ........................................................................................................ 67
Warunki brzegowe ............................................................................................................ 68
Implementacja regu .......................................................................................................... 69
Wysy anie do programu argumentów wiersza polece .................................................... 70
Inicjowanie symulacji ......................................................................................................... 70
Kompletny kod ...................................................................................................................... 71
Uruchamianie symulacji „Gry w ycie” .................................................................................. 73
Podsumowanie ...................................................................................................................... 75
Eksperymenty! ....................................................................................................................... 75
6
Spis tre ci
Kup książkę
Poleć książkę
4
GENEROWANIE TONÓW HARMONICZNYCH
ZA POMOC ALGORYTMU KARPLUSA-STRONGA ................................. 77
Jak to dzia a? ...........................................................................................................................79
Symulacja ............................................................................................................................79
Tworzenie plików WAV .....................................................................................................81
Pentatonika molowa ..........................................................................................................82
Wymagania .............................................................................................................................83
Kod .........................................................................................................................................83
Implementacja bufora pier cieniowego za pomoc klasy deque .......................................83
Implementacja algorytmu Karplusa-Stronga .......................................................................84
Zapisywanie pliku WAV .....................................................................................................85
Odtwarzanie plików WAV za pomoc modu u pygame ....................................................85
Metoda main() ....................................................................................................................86
Kompletny kod .......................................................................................................................88
Uruchamianie symulacji szarpanej struny ...............................................................................91
Podsumowanie .......................................................................................................................92
Eksperymenty! .......................................................................................................................92
5
BOIDY: SYMULACJA STADA .................................................................... 93
Jak to dzia a? ...........................................................................................................................94
Wymagania .............................................................................................................................94
Kod .........................................................................................................................................95
Obliczanie pozycji i pr dko ci boidów ...............................................................................95
Ustawianie warunków brzegowych ...................................................................................96
Rysowanie boida ................................................................................................................97
Zastosowanie regu algorytmu stada ..................................................................................99
Dodawanie boida .............................................................................................................101
Rozpraszanie boidów .......................................................................................................102
Argumenty wiersza polece .............................................................................................102
Klasa Boids .......................................................................................................................103
Kompletny kod .....................................................................................................................104
Uruchamianie symulacji algorytmu stada .............................................................................107
Podsumowanie .....................................................................................................................108
Eksperymenty! .....................................................................................................................108
Cz
III. Zabawy z obrazami
6
SZTUKA ASCII ....................................................................................... 111
Jak to dzia a? .........................................................................................................................112
Wymagania ...........................................................................................................................114
Spis tre ci
7
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin