Rozdział 12 · Wiele fascynujących mini-projektów!

Czym jest projekt

Jak dotąd studiowaliśmy narzędzia indywidualnie. Teraz uczymy się, jak je połączyć w prawdziwy program, zaczynając od podejścia do wielkiego zadania w ogóle.

Od narzędzi do programów

Rozdziały 1-11 nauczył cię indywidualnie narzędzi: łańcuch znakówm, Liczby, Warunki, Pętle, Turtle, listy i słowniki. Ten rozdział nie dodaje żadnych nowych narzędzi — uczy łączyć je razem, aby powstał prawdziwy, działający program.

StringsLiczbyWarunki i RegulaminPętleListy / słownikiTurtlePROGRAM
Rozdziały 1-11 — indywidualne narzędzia. Rozdział 12 — jak je połączyć w jeden program

Jaka jest różnica między projektem a ćwiczeniem

PraktykaProjekt
PrzykładObliczaj 7 % 3Zbuduj konwerter sekund na godziny/minuty/sekundy z walidacją danych wejściowych
Wkładzazwyczaj niesą, i trzeba je przemyślać z wyprzedzeniem
Krokijedenkilka ze sobą powiązanych
Rezultatjedna wartośćsformalizowanym wnioskiem, reakcją na różne przypadki
Robakiprawie niemożliwetrzeba przemyśleć, co może pójść nie tak
Projekt to nie jest „większy kod”
Różnica nie polega na liczbie linii, ale na tym, że projekt posiada cel, wkład, zasady oraz wynik — i wszystko to musi zostać przemyślane, zanim zostanie napisany pierwszy łańcuch znaków kodu.

Dekompozycja: Rozkład dużego zadania na małe części

Zadanie „Zbuduj grę w zgadywanie” jest zbyt duże, aby rozwiązać je jednym kawałkiem kodu. Rozbijmy je na zrozumiałe kroki:

Buildzgadywanie1. Wybierz sekretlosową liczbą2. Zapytaj graczainput()3. Przekształcićinputint()4. Porównajjeśli/w innym przypadku5. Prompttrochę/dużo6. Powtarzajpętla7. Próby liczenialicznik8. Zakończyćtrafił!
Rozkład: Jedno duże zadanie → ośmiu małych, zrozumiałych kroków
Rozkład
Rozkład to podzielić duże zadanie na małe, zrozumiałe części. To jedna z najważniejszych umiejętności programowania: znacznie łatwiej jest napisać (i sprawdzić) osiem małych kroków niż jeden złożony fragment kodu w stu linijkach.

Szablon projektu, którego użyjemy

Każdy duży projekt w tym rozdziale podąża tym samym schematem — niekoniecznie tymi z tymi samymi nagłówkami, ale w tym samym porządku myślenia:

Powtarzający się rytm każdego projektu rozdziału
1 · Co tworzymy
Cel projektu
Jak wygląda efekt końcowy
2 · Dane
Wkład
Jaka struktura je przechowuje
3 · Algorytm
Procedura
Schemat blokowy, jeśli jest to odpowiednie
4 · Wdrożenie
Krok po kroku
Sprawdź po każdym etapie
5 · Weryfikacja
Typowe błędy
Debug Lab
Co można poprawić

Wymagania i „co oznacza 'zrobione'”

Przed napisaniem kodu warto jasno określić wymagania, jakie musi spełnić program by być uznanym za gotowego. Przykład przyszłej gry w zgadywanie:

WymaganieWeryfikacja
komputer wybiera liczbę całkowitą między 1 a 100sekret — int w zakresie [1, 100]
gracz wpisuje liczby próbinput() + int()
program mówi "trochę" / "dużo"if/elif/else
program kończy się poprawną odpowiedziąpętla zatrzymuje się przy guess == secret
próby się liczącounter wzrasta przy każdej próbie
Lista kontrolna odbioru
Ten lista nazywa się kontrola przy odbiorze — do kodu już wiemy, co dokładnie musi być poprawne, aby powiedzieć „projekt gotowy”. Nie trzeba formalnie go dokumentować za każdym razem — ale warto mieć to zawsze w głowie.

Rozgrzewka: statystyki trzech liczb

Zanim przejdziemy do dużych projektów, przećwiczmy sam proces — od zadania po kod — w programie wieloliniowym.

Zadanie: otrzymać trzy liczby i uzyskać minimalną, maksymalną ilość i drugorzędne.

statistika_treh_chisel.py
a = float(input(„Pierwszy numer: ”))
b = float(input(„Drugi numer: ”))
c = float(input(„Trzeci numer: ”))

chisla = [a, b, c]

print(f"Minimum: {min(chisla)}")
print(f"Maksimum: {max(chisla)}")
print(f"Suma: {sum(chisla)}")
print(f"Średniozaawansowany: {sum(chisla) / len(chisla):.2f}")
Nawet tak mały program to już projekt
Zawiera dane wejściowe (trzy liczby), strukturę do ich przechowywania (lista - Rozdział 11), regułę przetwarzania (min/max/sum/len — Rozdział 11) oraz sformatowany wynik (f-lines — Rozdział 8). Później w rozdziale — to samo, ale większe.
Praktyka: Statystyki trzech liczb — od zadania do kodu
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →