Nauka programowania to świetny pomysł, ale musimy Cię ostrzec: programowanie wciąga! Jeśli nauczysz się porozumiewać z komputerem w jego języku, szybko zorientujesz się, że napisanie własnej gry, skryptu do złożonych obliczeń czy funkcjonalnej aplikacji do codziennego użytku daje wielką satysfakcję i sprawia mnóstwo radości. Co więcej, programowania można nauczyć się niemal w każdym wieku. Wystarczy odrobina cierpliwości i konsekwencji!
Trzymasz w ręce chyba najlepszy podręcznik do nauki programowania dla osób absolutnie początkujących - nawet takich, które komputera używają wyłącznie do przeglądania stron i obsługi poczty. W sposób szczególny nadaje się on dla dzieci, ale skorzystają z niego również dorośli, którzy chcą poznać podstawy programowania.
Jasno i klarownie przedstawiono tu wszystkie niezbędne informacje, a liczne (bardzo zabawne) przykłady pozwalają na głębsze zrozumienie prezentowanych treści. Nauka odbywa się w języku Python. Jest to język łatwy w nauce, a przy tym bardzo popularny i wciąż rozwijany. Co więcej, przyswojenie sobie Pythona pozwala na szybką naukę innych języków!
W tym podręczniku znajdziesz informacje m.in. o tym: • jak przygotować się do pracy: zainstalować Pythona i napisać pierwsze linie kodu • czym są i do czego służą zmienne, typy danych, operatory • czym jest GUI i jak go napisać • jakie są rodzaje pętli, co to są funkcje i na czym polega obsługa zdarzeń • jak przygotować symulacje komputerowe
Witaj w niezwykłym świecie programowania.
Spis treści:
1. Zaczynamy (1) • Instalowanie Pythona (1) • Uruchomienie Pythona za pomocą IDLE (2) • Poproszę o instrukcje (3) • Interakcja z Pythonem (5) • Pora na programowanie (7) • Uruchomienie pierwszego programu (8) • Jeśli coś się nie uda (9) • Drugi program (2)
2. Zapamiętaj: pamięć i zmienne (15) • Wejście, przetwarzanie, wyjście (15) • Nazwy (17) • Z czego może się składać nazwa? (21) • Liczby i łańcuchy znakowe (22) • Jak "zmienne" są zmienne? (24) • Ktoś zupełnie inny (25)
3. Prosta matma (28) • Cztery podstawowe działania (29) • Operatory (31) • Kolejność wykonywania działań (31) • Dwa inne operatory (33) • Liczby ogromne i bardzo małe (35)
4. Typy danych (40) • Zmiana typów danych (40) • Sprawdzanie typu za pomocą funkcji type() (44) • Błędy wynikające z konwersji typów (44) • Zastosowanie konwersji typów (44)
5. Dane wejściowe (46) • Funkcja raw_input() (47) • Instrukcja print i przecinek (48) • Wprowadzanie liczb (50) • Pobieranie danych z sieci (52)
6. GUI - graficzny interfejs użytkownika (55) • Czym jest GUI? (55) • Nasz pierwszy GUI (56) • Dane wejściowe w przypadku GUI (57) • Wybierz swój smak (58) • Gra w odgadywanie liczb... powraca (61) • Inne elementy GUI (62)
7. Decyzje, decyzje (65) • Sprawdzanie warunków (65) • Wcięcia (67) • Czy ja widzę podwójnie? (68) • Inne rodzaje porównań (69) • Co się stanie, gdy warunek nie zostanie spełniony? (70) • Sprawdzanie więcej niż jednego warunku (72) • Słowo kluczowe and (73) • Słowo kluczowe or (74) • Słowo kluczowe not (74)
8. Pętla w pętli (78) • Pętle licznikowe (79) • Korzystanie z pętli licznikowej (81) • Na skróty - range() (82) • Kwestia stylu - nazywanie zmiennych w pętli (84) • Zliczanie z określonym krokiem (87) • Zliczanie bez użycia liczb (89) • Jeśli już o tym mówimy... (89) • Opuszczanie pętli - break i continue (90)
9. Tylko dla Ciebie - komentarze (94) • Dodawanie komentarzy (94) • Komentarze jednowierszowe (95) • Komentarze na końcu wiersza (95) • Komentarze wielowierszowe (96) • Łańcuchy znakowe z potrójnymi cudzysłowami (96) • Styl komentarzy (97) • Komentarze zamieszczone w tej książce (97) • Komentowanie instrukcji (98)
10. Zagrajmy (99) • Narciarz (Skier) (99)
11. Pętle zagnieżdżone i pętle zmienne (104) • Pętle zagnieżdżone (104) • Pętle zmienne (106) • Zmienne pętle zagnieżdżone (107) • Jeszcze więcej zmiennych pętli zagnieżdżonych (108) • Korzystanie z pętli zagnież- dżonych (110) • Obliczanie kalorii (113)
12. Gromadzenie danych - listy i słowniki (117) • Czym jest lista? (117) • Tworzenie listy (118) • Dodawanie elementów do listy (118) • Co oznacza kropka? (119) • Lista może zawierać cokolwiek (120) • Pobieranie elementów z listy (120) • Wycinanie listy (121) • Modyfikowanie elementów (124) • Inny sposób na dodawanie elementów do listy (124) • Usuwanie elementów z listy (126) • Przeszukiwanie listy (127) • Listy i pętla (129) • Sortowanie list (129) • Typy mutowalne i niemutowalne (133) • Lista zawierająca inne listy: tabele danych (133) • Słowniki (136)
13. Funkcje (143) • Funkcje jak klocki (143) • Wywołanie funkcji (145) • Przekazywanie argumentów do funkcji (147) • Funkcje z większą liczbą argumentów (149) • Funkcje zwracające wartość (151) • Zasięg zmiennej (153) • Wymuszanie zmiennej globalnej (156) • Rada dotycząca nazywania zmiennych (157)
14. Obiekty (159) • Obiekty w świecie rzeczywistym (160) • Obiekty w Pythonie (160) • Obiekt = atrybuty + metody (162) • Co oznacza kropka? (162) • Tworzenie obiektów (162) • Przykładowa klasa - HotDog (168) • Ukrywanie danych (172) • Polimorfizm i dziedziczenie (173) • Planowanie (175)
15. Moduły (178) • Czym jest moduł? (178) • Do czego można wykorzystać moduły? (178) • Pudełka z klockami (179) • Jak się tworzy moduły? (179) • Jak korzystać z modułów? (180) • Przestrzenie nazw (181) • Moduły standardowe (185)
16. Grafika (189) • Pomocna dłoń - Pygame (189) • Okno Pygame (190) • Rysowanie w oknie (191) • Pojedyncze piksele (200) • Obrazki (205) • Ruszamy! (207) • Animacja (208) • Płynniejsza animacja (210) • Odbijanie piłki (211) • Zawijanie piłki (214)
17. Sprajty i wykrywanie zderzeń (217) • Sprajty (217) • Bęc! Wykrywanie kolizji (223) • Zliczanie czasu (228)
18. Nowy rodzaj danych wejściowych - zdarzenia (233) • Zdarzenia (233) • Zdarzenia związane z klawiaturą (235) • Zdarzenia związane z myszą (240) • Zdarzenia timera (241) • Czas na kolejną grę - PyPong (244)
19. Dźwięk (256) • Ponownie sięgamy po pomoc - mixer (256) • Generowanie dźwięków kontra odtwarzanie dźwięków (257) • Odtwarzanie dźwięków (257) • Sterowanie poziomem głośności (260) • Odtwarzanie muzyki z powtarzaniem (262) • Dodajemy dźwięk do gry PyPong (263) • Jeszcze więcej odlotowych dźwięków (264) • Dodajemy muzykę do PyPonga (267)
20. Więcej o GUI (272) • Korzystanie z PyQt (272) • Zaprzęgamy GUI do pracy (277) • Obsługa zdarzeń po raz kolejny (279) • Przesuwanie przycisku (280) • Bardziej użyteczny GUI (280) • TempGUI (281) • Co dzisiaj w menu? (287)
21. Formatowanie łańcuchów znakowych (293) • Koniec linii (294) • Odstępy poziome - tabulatory (296) • Wstawianie zmiennych do łańcucha znakowego (298) • Formatowanie liczb (299) • Inny sposób formatowania (304) • Operacje na łańcuchach znakowych (305)
22. Odczyt i zapis plików (313) • Czym jest plik? (314) • Nazwy plików (314) • Położenie plików (315) • Otwieranie pliku (319) • Odczytywanie pliku (320) • Pliki tekstowe i pliki binarne (322) • Zapisywanie do pliku (323) • Zapisywanie bardziej złożonych danych: pickle (327) • Czas na kolejną grę - Wisielec (Hangman) (329)
23. Zaryzykuj - losowość (337) • Czym jest losowość? (338) • Rzucanie kością do gry (338) • Tworzymy talię kart (343) • Szalone ósemki (348)
24. Symulacje komputerowe (361) • Modelowanie świata rzeczywistego (361) • Lądownik księżycowy (362) • Kotrolowanie czasu (367) • Obiekty reprezentujące czas (368) • Zapisywanie czasu do pliku (372) • Wirtualny zwierzak (374)
25. Narciarz (Skier) - objaśnienie (385) • Narciarz (385) • Przeszkody (389)
26. Bitwa pytonów (399) • Bitwa pytonów (399) • Tworzenie robota (401) • Bardziej rozbudowany robot (403) • Układ współrzędnych (404)
27. Co dalej? (409) • Dla młodszych programistów (409) • Python (410) • Programowanie gier i Pygame (410) • Programowanie gier w innych językach niż Python (411) • "Prosty" znaczy"BASIC" (411) • Aplikacje mobilne (411) • Rozejrzyj się (411)
• Dodatek A Zasady nazewnictwa zmiennych (413) • Dodatek B Różnice pomiędzy Pythonem 2 i Pythonem 3 (415) • Dodatek C Klucz odpowiedzi do pytań i zadań (419) • Spis listingów (451) • Skorowidz (455)
Hello World! Przygoda z programowaniem dla dzieci i absolutnie początkujących. Wydanie II
|