Dane oryginału

Copyright © 2022 by Jason R. Briggs. Title of English-language original: Python for Kids: A Playful Introduction to Programming, 2nd Edition, ISBN 9781718503021, published by No Starch Press Inc. 245 8th Street, San Francisco, California United States 94103. The Polish-language 2nd edition Copyright © 2023 by Polish Scientific Publishers PWN under license by No Starch Press Inc. All rights reserved.

Przekład Piotr Fabijańczyk na zlecenie WITKOM Witold Sikorski

Okładka oryginału: Octopod Studios

Opracowanie okładki polskiego wydania: INT-MEDIA Dawid Mazur

Wydawca: Wioleta Szczygielska-Dybciak, Dorota Siudowska-Mieszkowska

Redaktor prowadzący: Renata Ziółkowska

Redaktor: Agnieszka Mańko

Koordynator produkcji: Anna Bączkowska

Skład wersji elektronicznej na zlecenie Wydawnictwo Naukowe PWN S.A.:
Michał Latusek

Książka, którą nabyłeś, jest dziełem twórcy i wydawcy. Prosimy, abyś przestrzegał praw, jakie im przysługują. Jej zawartość możesz udostępnić nieodpłatnie osobom bliskim lub osobiście znanym. Ale nie publikuj jej w internecie. Jeśli cytujesz jej fragmenty, nie zmieniaj ich treści i koniecznie zaznacz, czyje to dzieło. A kopiując jej część, rób to jedynie na użytek osobisty.

Szanujmy cudzą własność i prawo
Więcej na www.legalnakultura.pl
Polska Izba Książki

Copyright © for the Polish edition by Wydawnictwo Naukowe PWN SA
Warszawa 2015, 2023

ISBN 978-83-01-23345-7

eBook został przygotowany na podstawie wydania papierowego z 2023r. (Wydanie II)

Warszawa 2023

Wydawnictwo Naukowe PWN SA
02-460 Warszawa, ul. Gottlieba Daimlera 2
tel. 22 69 54 321, faks 22 69 54 288
infolinia 801 33 33 88
e-mail: pwn@pwn.com.pl, reklama@pwn.pl www.pwn.pl

Fragment

Recenzenci techniczni pierwszego wydania

Podziękowania

1. WSTĘP

Dlaczego Python

Jak uczyć się programowania

Kto powinien przeczytać tę książkę

Co znajduje się w tej książce

Strona pythonforkids.com

Dobrej zabawy!

CZĘŚĆ I. NAUKA PROGRAMOWANIA

1. NIE WSZYSTKIE WĘŻE PEŁZAJĄ

Kilka słów na temat języka

Instalowanie Pythona

Instalowanie Pythona w systemie Windows

Instalowanie Pythona w systemie macOS

Instalowanie Pythona w systemie Ubuntu

Instalowanie Pythona w systemie Raspberry Pi (Raspberry Pi OS lub Raspbian)

Po zainstalowaniu Pythona

Zapisywanie programów w Pythonie

Czego się nauczyłeś

2. OBLICZENIA I ZMIENNE

Obliczenia w Pythonie

Operatory w Pythonie

Kolejność wykonywania operacji

Zmienne są jak etykiety

Korzystanie ze zmiennych

Czego się nauczyliśmy

3. CIĄGI ZNAKÓW, LISTY, KROTKI I SŁOWNIKI

Ciągi znaków

Tworzenie ciągów znaków

Obsługa problemów z ciągami znaków

Osadzanie wartości w ciągach znaków

Mnożenie ciągów

Listy są bardziej użyteczne niż ciągi znaków

Dodawanie nowych elementów do listy

Usuwanie elementów z listy

Arytmetyka list

Krotki

Słowniki w Pythonie

Czego się nauczyliśmy

Zadania z programowania

#1: Ulubione

#2: Liczenie wojowników

#3: Pozdrowienia!

#4: List wielowierszowy

4. RYSOWANIE Z WYKORZYSTANIEM ŻÓŁWIA

Korzystanie z modułu żółwia Pythona

Tworzenie płótna

Przesuwanie żółwia

Czego się nauczyliśmy

Zadania z programowania

#1: Prostokąt

#2: Trójkąt

#3: Czworokąt bez narożników

#4: Przechylony czworokąt bez narożników

5. ZADAWANIE PYTAŃ ZA POMOCĄ IF I ELSE

Blok if

Blok to zestaw instrukcji

Warunki pomagają nam porównywać rzeczy

Instrukcja if – then – else

Instrukcja if i elif

Łączenie warunków

Zmienne niemające wartości – None

Różnice pomiędzy ciągami znaków i liczbami

Czego się nauczyliśmy

Zadania z programowania

#1: Czy jesteś bogaty?

#2: Ciasteczka!

#3: Po prostu odpowiednia liczba

#4: Mogę pokonać tych ninja

6. ZAPĘTLAMY SIĘ

Korzystanie z pętli

Kiedy my rozważamy o pętlach...

Czego się nauczyliśmy

Zadania z programowania

#1: Pętla Witaj

#2: Parzyste liczby

#3: Moje ulubione składniki

#4: Twoja waga na Księżycu

7. PRZETWARZANIE KODU Z UŻYCIEM FUNKCJI

Korzystanie z funkcji

Elementy funkcji

Zmienne i zakres

Korzystanie z modułów

Funkcja input

Czego się nauczyliśmy

Zadania z programowania

#1: Prosta funkcja obliczania masy na Księżycu

#2: Waga na Księżycu uwzględniająca wiek

#3: Program waga na Księżycu

#4: Program waga na Marsie

8. KORZYSTANIE Z KLAS

Dzielenie rzeczy na klasy

Dzieci i rodzice

Dodawanie obiektów do klasy

Definiowanie funkcji klas

Dodawanie cech klas

Do czego używać klas i obiektów

Obiekty i klasy – przykład z grafiką

Inne przydatne cechy obiektów i klas

Funkcje dziedziczone

Funkcje wywołujące inne funkcje

Inicjowanie obiektu

Czego się nauczyliśmy

Zadania z programowania

#1: Tańcząca żyrafa

#2: Zółwie widły

#3: Dwie małe spirale

#4: Cztery małe spirale

9. WIĘCEJ GRAFIKI Z UŻYCIEM ŻÓŁWIA

Zacznijmy od prostego kwadratu

Rysowanie gwiazd

Rysowanie samochodu

Kolorowanie elementów

Funkcja rysująca wypełnione koła

Tworzenie czystej czerni i bieli

Funkcja rysująca kwadrat

Rysowanie wypełnionych kwadratów

Rysowanie wypełnionych gwiazd

Czego się nauczyliśmy

Zadania z programowania

#1: Rysowanie ośmiokąta

#2: Rysowanie wypełnionego ośmiokąta

#3: Kolejna funkcja rysująca gwiazdy

#4: Ponownie cztery spirale

10. WYKORZYSTYWANIE MODUŁU TKINTER DO TWORZENIA LEPSZEJ GRAFIKI

Tworzenie klikalnego przycisku

Korzystanie z nazwanych parametrów

Tworzenie płótna do rysowania

Rysowanie linii

Rysowanie obramowań

Rysowanie wielu prostokątów

Ustawianie koloru

Rysowanie łuków

Rysowanie wielokątów

Wyświetlanie tekstu

Wyświetlanie obrazów

Tworzenie podstawowej animacji

Co zrobić, by obiekt na coś reagował

Więcej sposobów korzystania z identyfikatora

Czego się nauczyliśmy

Zadania z programowania

#1: Wypełnij ekran trójkątami

#2: Ruchomy trójkąt

#3: Ruchome zdjęcie

#4: Wypełnij ekran zdjęciami

CZĘŚĆ II. PING PONG!

11. TWORZYMY PIERWSZĄ GRĘ: PING PONG!

Odbijająca się piłka

Tworzymy płótno gry

Tworzenie klasy dla piłki

Dodajmy trochę działania

Jak poruszyć piłkę

Piłka się odbija

Zmieniamy początkowy kierunek piłki

Czego się nauczyłeś

Zagadki programistyczne

#1: Zmieniające się kolory

#2: Błyskające kolory

#3: Zajmij swoje pozycje!

#4: Dodawanie paletki…

12. KOŃCZYMY PRACE NAD NASZĄ PIERWSZĄ GRĄ: PING PONG!

Dodajemy paletkę

Paletka się porusza

Kiedy piłka uderza w paletkę

Dodajemy czynnik losowy

Czego się nauczyliśmy

Zadania z programowania

#1: Opóźnianie rozpoczęcia gry

#2: Odpowiednie „Koniec gry”

#3: Przyspieszanie piłki

#4: Zachowywanie wyniku gracza

CZĘŚĆ III. MR. STICK MAN PĘDZI DO WYJŚCIA

13. TWORZYMY GRAFIKĘ DLA GRY MR. STICK MAN

Idea gry Mr. Stick Man

Instalowanie programu GIMP

Tworzenie elementów gry

Przygotowanie przezroczystego obrazu

Rysowanie Mr. Stick Mana

Mr. Stick Man biegnie w prawo

Mr. Stick Man biegnie w lewo

Rysowanie platform

Rysowanie drzwi

Rysowanie tła

Przezroczystość

Czego się nauczyliśmy

14. TWORZYMY GRĘ MR. STICK MAN

Klasy gry

Tytuł okna i płótno gry

Wykańczanie funkcji __init__

Tworzenie funkcji mainloop

Klasa Coords

Sprawdzanie kolizji

Kolizja duszków w poziomie

Kolizja duszków w pionie

Finalny kod wykrywania kolizji

Funkcja collided_left

Funkcja collided_right

Funkcja collided_top

Funkcja collided_bottom

Tworzenie klasy Sprite

Dodawanie platform

Dodanie obiektu platformy

Dodawanie wielu platform

Czego się nauczyliśmy

Zadania z programowania

#1: Szachownica

#2: Szachownica z dwóch obrazów

#3: Półka na książki i lampa

#4: Losowe tło

15. TWORZENIE MR. STICK MANA

Inicjalizacja figurki Stick

Ładowanie obrazów Mr. Stick Mana

Konfigurowanie zmiennych

Powiązanie z klawiszami

Obracanie figurki w lewo i w prawo

Skoki figurki

Co mamy do tej pory

Czego się nauczyliśmy

16. FINALIZOWANIE GRY MR. STICK MAN

Animowanie postaci Mr. Stick Mana

Tworzenie funkcji animate

Wykrywanie ruchu

Zmiana obrazu

Odczytywanie pozycji figurki Mr. Stick Mana

Wprawianie figurki Mr. Stick Mana w ruch

Funkcja move

Czy figurka uderzyła w dolną lub górną część płótna

Czy figurka uderzyła w bok płótna

Kolizja z innymi duszkami

Kolizja dolnej krawędzi

Sprawdzanie lewej i prawej strony

Testowanie duszka figurki Mr. Stick Mana

Wyjście!

Tworzenie klasy DoorSprite

Wykrywanie drzwi

Dodawanie obiektu Drzwi

Ostateczna gra

Czego się nauczyliśmy

Zadania z programowania

#1: „Wygrałeś!”

#2: Animowanie drzwi

#3: Ruchome platformy

#4: Lampa jako duszek

POSŁOWIE: CO DALEJ

Instalowanie Python pip w systemie Windows

Instalowanie Python pip w systemie Ubuntu

Instalowanie Python pip w systemie Raspberry Pi

Instalowanie Python pip w systemie macOS

Testowanie PyGame

Inne gry i programowanie grafiki

Inne języki programowania

JavaScript

Java

C#

C/C++

Ruby

Go

Rust

Swift

Kilka słów na koniec

A. PYTHON – SŁOWA KLUCZOWE

and

as

assert

async

await

break

class

continue

def

del

elif

else

except

finally

for

from

global

if

import

in

is

lambda

nonlocal

not

or

pass

raise

return

try

while

with

yield

B. WBUDOWANE FUNKCJE PYTHONA

Korzystanie z wbudowanych funkcji

Funkcja abs

Funkcja all

Funkcja any

Funkcja bin

Funkcja bool

Funkcja callable

Funkcja chr

Funkcja dir

Funkcja divmod

Funkcja eval

Funkcja exec

Funkcja float

Funkcja input

Funkcja int

Funkcja len

Funkcja list

Funkcje max i min

Funkcja ord

Funkcja pow

Funkcja range

Funkcja sum

Otwieranie pliku w Pythonie

Otwieranie pliku systemu Windows

Otwieranie pliku systemu macOS

Otwieranie pliku systemu Ubuntu lub Raspberry Pi File

Zapisywanie do plików

C. ROZWIĄZYWANIE PROBLEMÓW

Błędy „TK” podczas importowania Turtle w Ubuntu

Błąd attribute podczas użycia Turtle

Problemy dotyczące modułu Turtle

Klasa nie przyjmuje argumentów

Pozostałe rozdziały dostępne w pełnej wersji e-booka.

Programista komputerowy jest twórcą wszechświatów,
dla których jest prawodawcą.
Żaden dramaturg, żaden reżyser, żaden cesarz,
jakkolwiek potężny,
nigdy nie miał tak absolutnej władzy,
by zarządzać sceną lub polem bitwy
i dowodzić tak niezachwianie posłusznymi aktorami lub żołnierzami.

Joseph Weizenbaum (zmodyfikowano)

O AUTORZE

Jason R. Briggs programuje od ósmego roku życia, to wtedy po raz pierwszy nauczył się języka BASIC na Radio Shack TRS80. Zawodowo tworzył oprogramowanie jako programista i architekt techniczny, był także redaktorem, który współpracował z czasopismem „Java Developer’s Journal”. Jego artykuły ukazywały się w JavaWorld, ONJava i ONLamp. Python dla dzieci (No Starch Press, 2012) to jego pierwsza książka. Z Jasonem można się skontaktować przez stronę internetową http://jasonrbriggs.com/ lub za pośrednictwem poczty elektronicznej jason@briggs.nz.

O ILUSTRATORZE

Miran Lipovača jest autorem książki Learn You a Haskell for Great Good!. Lubi boks, grę na gitarze basowej i oczywiście rysowanie. Fascynują go tańczące szkielety i liczba 71, a przechodząc przez automatyczne drzwi, udaje, że otwiera je umysłem.

O RECENZENCIE TECHNICZNYM

Doktor Daniel Zingaro jest profesorem nadzwyczajnym informatyki i wielokrotnie nagradzanym wykładowcą na Uniwersytecie w Toronto. W swoich badaniach koncentruje się na zrozumieniu i ulepszeniu procesu uczenia się informatyki przez studentów. Jego ostatnie dwie książki to No Starch: Algorithmic Thinking (prosty przewodnik po algorytmach i strukturach danych niezawierający wzorów matematycznych) oraz Learn to Code by Solving Problems (podstawowa lektura do nauki Pythona i myślenia numerycznego).

Recenzenci techniczni pierwszego wydania

Josh Pollock (15 lat), niedawny absolwent The Nueva School, jest uczniem pierwszego roku Lick-Wilmerding High School w San Francisco. Po raz pierwszy zaczął programować w języku Scratch w wieku 9 lat, w szóstej klasie zaczął używać języka TIBASIC, a następnie w klasie siódmej i ósmej Javy i Pythona oraz UnityScript. Poza programowaniem uwielbia grać na trąbce, tworzyć gry komputerowe i uczyć każdego ciekawych tematów STEM.

Maria Fernandez ma tytuł magistra lingwistyki stosowanej i od ponad 20 lat interesuje się komputerami i technologią. Uczyła angielskiego młode kobiety-imigrantki w ramach projektu Global Village w Georgii. Obecnie mieszka w północnej Kalifornii, gdzie pracuje w Educational Testing Service.

Podziękowania

Podziękowania dla zespołu No Starch za ich starania oraz dla Mirana Lipovačy za jego genialne ilustracje.

Dziękuję mojej żonie, córce i mojemu synowi za cierpliwość. Byliście ze mną, choć ja częściej niż zwykle miałem nos w ekranie komputera.

Mamie – za to, że na przestrzeni wielu lat cały czas zachęcała mnie do tej pracy. Na koniec dziękuję mojemu tacie za zakup komputera w latach 70. i tolerowanie kogoś, kto chciał go używać tak samo jak on. Bez niego stworzenie tej książki byłoby niemożliwe.

1. WSTĘP

Dlaczego warto uczyć się programowania? Programowanie rozwija kreatywność, logiczne myślenie oraz zdolność do rozwiązywania problemów. Programista ma możliwość tworzenia czegoś z niczego, użycia logiki do przekształcenia konstrukcji programistycznych w formę, którą może uruchomić komputer, a kiedy coś nie działa tak dobrze, jak się spodziewał, rozwiązuje problemy, by dowiedzieć się, co poszło nie tak. Programowanie to zabawne, ale czasami wymagające i frustrujące zajęcie. Zdobyte w ten sposób umiejętności mogą być przydatne zarówno w szkole, jak i w pracy – nawet jeśli zawodowo nie masz nic wspólnego z komputerami. Poza tym programowanie to świetny sposób na spędzenie wolnego czasu, gdy pogoda na zewnątrz jest ponura.

Dlaczego Python

Python to łatwy do nauczenia się język programowania, który ma kilka naprawdę przydatnych dla początkującego programisty właściwości. Kod jest dość łatwy do odczytania w porównaniu z innymi językami programowania, natomiast Python Shell umożliwia łatwe tworzenie i testowanie programów.

Prostota języka Python, Python Shell oraz inne funkcjonalności znacznie usprawniające proces uczenia się pozwalają tworzyć proste animacje do własnych gier. Jedną z nich jest moduł Python turtle – inspirowany grafiką żółwia (używany przez język programowania Logo w latach 60.) i przeznaczony do użytku edukacyjnego. Innym jest moduł tkinter – zestaw narzędzi graficznego interfejsu użytkownika (GUI) Tk, dzięki któremu w prosty sposób można tworzyć programy z nieco bardziej zaawansowaną grafiką i animacjami.

Jak uczyć się programowania

Zawsze najlepiej rozpoczynać od podstaw, zatem zacznij od pierwszych rozdziałów i powstrzymaj się od przeskakiwania do kolejnych. Nikt nie jest w stanie zagrać symfonii, gdy za pierwszym razem weźmie do ręki instrument. Pilot nie zacznie latać samolotem, zanim nie opanuje podstawowych elementów sterowania. Sportowcy (zazwyczaj) nie są w stanie przy pierwszej próbie wykonać salta w tył. Jeśli zbyt szybko przeskoczysz do przodu, to nie tylko nie utrwalisz podstawowych informacji, ale także okaże się, że treść kolejnych rozdziałów będzie bardziej skomplikowana, niż jest w rzeczywistości.

Podczas czytania tej książki przetestuj wszystkie przykłady, by sprawdzić, jak działają. Większość rozdziałów zawiera także łamigłówki programistyczne, które pomogą poprawić twoje umiejętności programowania. Pamiętaj, że im lepiej poznasz podstawy, tym łatwiej będzie później zrozumieć bardziej skomplikowane problemy. Gdy napotkasz coś frustrującego lub zbyt trudnego, wówczas możesz spróbować:

1. Podzielić problem na mniejsze części. Spróbuj zrozumieć, za co odpowiada mały fragment kodu lub przeanalizuj tylko małą część trudnego pomysłu (skoncentruj się na małym fragmencie kodu, nie staraj się zrozumieć całości naraz).

2. Jeśli to nadal nie pomoże, najlepiej odłóż to na jakiś czas. Prześpij się z tym i wróć do tego innego dnia. Jest to dobry sposób na rozwiązanie wielu problemów i może być szczególnie pomocny w przypadku programistów.

Kto powinien przeczytać tę książkę

Ta książka jest przeznaczona dla każdego, kto interesuje się programowaniem komputerowym i ma do czynienia z programowaniem po raz pierwszy, niezależnie od tego, czy jest to dziecko, czy dorosły. Jeśli chcesz nauczyć się pisać własne programy, a nie tylko korzystać z programów opracowanych przez innych, to Python dla dzieci jest świetną pozycją na początek.

W kolejnych rozdziałach znajdziesz informacje, które pomogą ci zainstalować Pythona, uruchomić Pythona Shell i wykonać podstawowe obliczenia, wyświetlić tekst na ekranie i utworzyć listy oraz wykonać proste operacje sterowania przepływem instrukcji przy użyciu instrukcji if i pętli for (a także nauczysz się, czym są instrukcje if i pętle for!). Dowiesz się, jak ponownie wykorzystać kod z funkcjami, poznasz podstawy klas i obiektów oraz opis niektórych z wielu wbudowanych funkcji i modułów Pythona.

Napotkasz na rozdziały wykorzystujące zarówno prostą, jak i zaawansowaną grafikę żółwia, a także dotyczące stosowania modułu tkinter do wyświetlania grafiki na ekranie komputera. Na końcu wielu rozdziałów zostały zamieszczone łamigłówki programistyczne o różnym stopniu trudności, które pomogą ci utrwalić nowo zdobytą wiedzę, dając szansę samodzielnego napisania małych programów. Po zdobyciu podstawowej wiedzy programistycznej nauczysz się pisać własne gry. Opracujesz dwie gry graficzne i poznasz podstawowe metody wykrywania kolizji, zdarzenia oraz różne techniki animacji.

Większość przykładów zamieszczonych w tej książce wykorzystuje Python IDLE shell (Integrated DeveLopment Environment). IDLE zapewnia podświetlanie składni, funkcję kopiowania i wklejania (podobnie jak w innych aplikacjach) oraz okno edytora, w którym można zapisać kod przeznaczony do późniejszego wykorzystania. To oznacza, że IDLE działa zarówno jak interaktywne środowisko do eksperymentowania, jak i coś w rodzaju edytora tekstu. Przykłady będą działać równie dobrze ze standardową konsolą i zwykłym edytorem tekstu, jednak podświetlanie składni oferowane w IDLE oraz nieco bardziej przyjazne dla użytkownika środowisko są bardzo pomocne. Proces konfiguracji został pokazany w pierwszym rozdziale.

Co znajduje się w tej książce

Oto krótkie podsumowanie tego, co możesz znaleźć w każdym rozdziale.

Rozdział 1 to wprowadzenie do programowania za pomocą instrukcji, dotyczące instalacji Pythona po raz pierwszy.

Rozdział 2 zawiera omówienie podstawowych obliczeń i zmiennych, natomiast rozdział 3 niektórych podstawowych typów zmiennych Pythona, takich jak łańcuchy znaków, listy i krotki.

Rozdział 4 to pierwszy przedsmak modułu turtle. Przeskoczymy od podstawowego programowania do poruszania żółwiem (w kształcie strzałki) po ekranie.

W rozdziale 5 omówiono warianty warunków i instrukcji if, a w kolejnym rozdziale 6 pętle for i while.

W rozdziale 7 po raz pierwszy przedstawione zostały zasady używania i tworzenia funkcji, a następnie w rozdziale 8 omówiono klasy i obiekty. W celu zobrazowania wybranych technik programowania, które są potrzebne w kolejnych rozdziałach dotyczących tworzenia gier, zostało omówionych wystarczająco dużo podstawowych pomysłów. Od tego momentu materiał zaczyna się nieco komplikować.

Rozdział 9 to powrót do modułu turtle i eksperymentowanie z bardziej skomplikowanymi kształtami. W rozdziale 10 przechodzimy do wykorzystania modułu tkinter do bardziej zaawansowanego tworzenia grafiki.

W rozdziałach 11 i 12 tworzona jest nasza pierwsza gra – Ping Pong! – która opiera się na wiedzy zdobytej w poprzednich rozdziałach, z kolei w rozdziałach 13–16 tworzona jest kolejna gra – Mr. Stick pędzi do wyjścia!. Rozdziały dotyczące tworzenia gier to miejsca, w których mogą pojawić się poważne problemy. Jeśli wszystko inne zawiedzie, to pobierz kod z dedykowanej witryny (http://pythonforkids.com) i porównaj swój kod z działającymi przykładami.

W posłowiu, przed zaprezentowaniem przykładów innych języków programowania, krótko omówiono, jak użyć instalatora pakietów Pythona (pip) do zainstalowania modułu PyGame oraz przedstawiono krótki przykład dotyczący PyGame.

W dodatku A znajdziesz listę słów kluczowych Pythona, a w dodatku B listę niektórych przydatnych funkcji wbudowanych (w dalszej części książki dowiesz się, czym są słowa kluczowe i funkcje). Dodatek C zawiera informacje dotyczące rozwiązywania typowych problemów.

Strona pythonforkids.com

Jeśli podczas czytania okaże się, że potrzebujesz pomocy, zajrzyj na dedykowaną stronę http://pythonforkids.com. Możesz stamtąd pobrać pliki wszystkich przykładów z tej książki oraz linki do dalszych informacji, w tym miejsca, w których można pobrać kod źródłowy użyty w książce.

Dobrej zabawy!

Podczas lektury tej książki pamiętaj, że programowanie może być zabawą. Nie myśl o tym jak o pracy. Pomyśl o programowaniu jako o sposobie tworzenia zabawnych gier lub aplikacji, którymi możesz dzielić się ze znajomymi lub innymi osobami.

Nauka programowania to wspaniałe ćwiczenie umysłowe, a rezultaty mogą być bardzo satysfakcjonujące. Jednak przede wszystkim pamiętaj, że cokolwiek robisz, to baw się dobrze!

1

NIE WSZYSTKIE WĘŻE PEŁZAJĄ

Program komputerowy to zestaw instrukcji, które powodują, że komputer wykonuje określone działania. Nie chodzi tu o fizyczne części komputera, takie jak przewody, mikroczipy, karty rozszerzeń, dysk twardy i tym podobne, ale o to, co działa w ukryciu na tym sprzęcie. Program komputerowy, zwykle nazywam po prostu programem, to zestaw poleceń, które jasno określają temu sprzętowi, jakie ma wykonać działania. Oprogramowanie to zbiór programów komputerowych.

Bez programów komputerowych prawie każde urządzenie, z którego korzystasz na co dzień, albo przestałoby działać, albo byłoby znacznie mniej przydatne. Programy komputerowe, w takiej czy innej formie, kontrolują nie tylko komputery osobiste, ale także systemy gier wideo, telefony komórkowe i urządzenia GPS w samochodach. Oprogramowanie sprawdza również takie elementy, jak telewizory LCD i ich piloty zdalnego sterowania, a także niektóre najnowsze radia, odtwarzacze DVD, piekarniki i niektóre lodówki. Programy sterują nawet silnikami samochodów, sygnalizacją świetlną, latarniami ulicznymi, sygnalizacją świetlną w pociągach, elektronicznymi billboardami i windami.

Programy są trochę jak myśli. Gdybyś nie miał myśli, wówczas najprawdopodobniej siedziałbyś teraz na podłodze, wpatrując się tępo w ścianę. To właśnie twoja myśl „wstań z podłogi” jest instrukcją lub poleceniem, które każe ciału wstać. W ten sam sposób programy komputerowe używają poleceń, by określić komputerom, co mają robić.

Jeśli wiesz, jak pisać programy komputerowe, to możesz robić wiele przydatnych rzeczy. Jasne, możesz nie być w stanie pisać programów do sterowania samochodami, sygnalizacją świetlną lub lodówką (przynajmniej na początku), ale jesteś w stanie tworzyć strony internetowe, pisać własne gry, a nawet tworzyć programy, które pomogą ci w wykonaniu pracy domowej.

Kilka słów na temat języka

Podobnie jak ludzie, komputery używają wielu języków do komunikowania się, są to tak zwane języki programowania. Język programowania to po prostu sposób komunikowania się z komputerem za pomocą instrukcji zrozumiałych zarówno dla ludzi, jak i dla komputerów.

Istnieją języki programowania nazwane na cześć ludzi (Ada i Pascal), języki nazwane za pomocą prostych akronimów (BASIC i FORTRAN), a nawet kilka nazwanych na cześć programów telewizyjnych, na przykład Python. Tak, język programowania Python został nazwany na cześć programu telewizyjnego Latający cyrk Monty Pythona, a nie węża.

Uwaga:     „Latający cyrk Monty Pythona” był alternatywnym brytyjskim programem komediowym, wyemitowanym po raz pierwszy w latach 70. XX wieku i do dziś cieszy się ogromną popularnością wśród pewnej publiczności. Program zawierał skecze, takie jak „Ministerstwo dziwnych kroków”, „Taniec z policzkowaniem rybą” i „Sklep z serami” (w którym nie sprzedawano żadnego sera).

Język programowania Python ma wiele cech, które czynią go niezwykle przydatnym dla początkujących. Co najważniejsze, możesz używać Pythona do dość szybkiego pisania prostych, wydajnych programów. W Pythonie nie występuje tak wiele skomplikowanych symboli, jak w innych językach programowania, dzięki czemu jest łatwiejszy do odczytania i dużo bardziej przyjazny dla początkujących. Nie oznacza to, że w Pythonie nie używa się symboli. Po prostu nie są one używane tak często, jak w wielu innych językach.

Instalowanie Pythona

Instalacja Pythona jest dość prosta. W tym miejscu omówimy kroki instalacji w systemach Windows, macOS, Ubuntu i Raspberry Pi. Instalując Pythona, zainstalujesz także program IDLE, czyli Integrated DeveLopment Environment, który pozwala pisać programy w języku Python. Jeśli Python został już zainstalowany na twoim komputerze, to przejdź od razu do części „Po zainstalowaniu Pythona” na stronie 16.

Instalowanie Pythona w systemie Windows

By zainstalować język Python dla systemu Microsoft Windows 11, pobierz Pythona dla systemu Windows w wersji 3.10 lub nowszej ze strony http://www.python.org/downloads/. Dokładna wersja Pythona, którą pobierzesz, nie jest ważna, o ile jest to co najmniej wersja 3.10. Jeśli jednak używasz starszej wersji systemu Windows (na przykład Windows 7), to najnowsza wersja Pythona nie będzie na nim działać. W takim przypadku musisz zainstalować Pythona w wersji 3.8. W celu sprawdzenia, które wersje Pythona będą działać z twoją wersją systemu Windows, wejdź na stronę (https://www.python.org/downloads/windows/).

Rysunek 1.1. Strona pobierania Pythona dla systemu Windows

Jeśli w przeglądarce pojawi się komunikat, czy zapisać, czy otworzyć plik, to wybierz opcję zapisania. Po pobraniu pliku instalacyjnego Pythona dla Windows powinieneś zostać poproszony o jego uruchomienie. Jeśli nie, to otwórz folder Pobrane i kliknij dwukrotnie na plik. Teraz postępuj zgodnie z kolejnymi instrukcjami instalatora wyświetlanymi na ekranie w celu zainstalowania Pythona w domyślnej lokalizacji:

1. Kliknij: Zainstaluj teraz.

2. Gdy pojawi się pytanie, czy zezwolić aplikacji na wprowadzanie zmian w urządzeniu, wybierz: Tak.

3. Kliknij: Zamknij po zakończeniu instalacji, a następnie w menu Start systemu Windows powinieneś zobaczyć kilka ikon Pythona 3.1x:

Rysunek 1.2. Menu Start może wyglądać inaczej w zależności od zainstalowanej wersji Pythona

Teraz przejdź do „Po zainstalowaniu Pythona” na stronie 16 w celu rozpoczęcia pracy z Pythonem.

Instalowanie Pythona w systemie macOS

Jeśli używasz komputera Mac, to powinieneś mieć już wstępnie zainstalowaną wersję Pythona, aczkolwiek może to być starsza wersja tego języka. By upewnić się, że używasz wystarczająco aktualnej wersji, kliknij ikonę szkła powiększającego w prawym górnym rogu pulpitu i wpisz terminal w wyświetlonym oknie dialogowym. Kiedy terminal się otworzy, wpisz python3 ––version (to są dwa łączniki, po których następuje słowo „version”) i naciśnij enter.

Jeśli zobaczysz polecenie command not found lub zainstalowana wersja jest starsza niż 3.10, to wpisz w przeglądarce następujący adres URL, by pobrać najnowszy instalator dla systemu macOS: http://www.python.org/downloads/.

Rysunek 1.3. Strona pobierania Pythona dla systemu macOS

Po pobraniu kliknij dwukrotnie na plik (jego nazwa powinna brzmieć mniej więcej python3.10.0macosx11.pkg). Zaakceptuj warunki licencji i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, by zainstalować oprogramowanie. Powinieneś zostać poproszony o podanie hasła administratora do komputera Mac przed instalacją Pythona. Jeśli nie znasz hasła, to zapytaj rodziców lub kogokolwiek, kto jest właścicielem twojego komputera.

Rysunek 1.4. Python w Mac Finder

Teraz przejdź do „Po zainstalowaniu Pythona” na stronie 16 w celu rozpoczęcia pracy z Pythonem.

Instalowanie Pythona w systemie Ubuntu

Python jest już wstępnie zainstalowany w systemie Ubuntu Linux, jednak może to nie być najnowsza wersja. Postępuj zgodnie z następującymi instrukcjami, by uzyskać najnowszą wersję Pythona (pamiętaj, że może być konieczna zmiana numeru wersji w poniższym poleceniu w celu uzyskania najnowszej wersji).

1. Kliknij ikonę Pokaż aplikacje (zwykle dziewięć kropek w lewym dolnym rogu ekranu).

2. Wpisz terminal w polu wprowadzania (lub kliknij Terminal, jeśli polecenie jest już wyświetlane).

3. Kiedy pojawi się okno terminala, wpisz:

sudo apt update

sudo apt install python3.10 idle-python3.10

4. Po wprowadzeniu pierwszego polecenia może zostać wyświetlony komunikat proszący o wprowadzenie hasła administratora komputera (jeśli nie znasz hasła administratora, to poproś rodzica lub nauczyciela o jego wprowadzenie).

Rysunek 1.5. Instalacja Pythona w terminalu w systemie Ubuntu. Twój terminal może wyglądać nieco inaczej w zależności od wersji, którą instalujesz

Teraz przejdź do „Po zainstalowaniu Pythona” na stronie 16 w celu rozpoczęcia pracy z Pythonem.