Rozdział 3 · Twój pierwszy program w Python

Laboratoria debugowania

Pięć krótkich, specjalnie popsutych przykładów — poćwiczymy tę samą umiejętność: przewidzieć, uruchomić, zbadać, naprawić.

Pięć krótkich laboratoriów – Złamany kod do ćwiczenia znajdowania i Rozwiąż problem według tego samego algorytmu: przewiduj → przejdź → badaj → napraw → wyjaśnić sobie, dlaczego to zadziałało.

Laboratorium 1. Brakujący cudzysłów lub nawias

1. Przewidywanie: przeczytaj poniższy kod – co myślisz, że się wydarzy?

zepsuty kod
print("Привет, мир!

2. Uciekaj — zobaczycie: SyntaxError: unterminated string literal

3. Poprawka:

naprawione
print(„Witaj, świecie!”)

4. Dlaczego: cudzysłowy otwierające nie miały pary, Python nie rozumiały końca tekstu.

Laboratorium 2. Nieprawidłowa nazwa zmiennej

1. Przewidywanie: przeczytaj poniższy kod – co myślisz, że się wydarzy?

zepsuty kod
user_name = "Cartesian"
print(usr_name)

2. Uciekaj — zobaczycie: NameError: name 'usr_name' is not defined

3. Poprawka:

naprawione
user_name = "Cartesian"
print(user_name)

4. Dlaczego: literówka w nazwie — usr_name zamiast user_name. Python nie „zgaduje”

Laboratorium 3. Błąd wcięcia

1. Przewidywanie: przeczytaj poniższy kod – co myślisz, że się wydarzy?

zepsuty kod
print(„Początek”)
  print(„Kontynuacja”)

2. Uciekaj — zobaczycie: IndentationError: unexpected indent

3. Poprawka:

naprawione
print(„Początek”)
print(„Kontynuacja”)

4. Dlaczego: druga linijka ma wcięcie, którego nie powinno tam być — poza blokami (if/for/def pojawią się w kolejnych rozdziałach), wszystkie linie powinny zaczynać się od tej samej pozycji.

Laboratorium 4. Program działa, ale generuje niewłaściwe wyniki

1. Przewidywanie: przeczytaj poniższy kod – co myślisz, że się wydarzy?

zepsuty kod
name = „Anna”
city = „Moskwa”
print(„Cześć,”, city)

2. Uciekaj — zobaczycie: Привет, Москва (а должно быть — имя)

3. Poprawka:

naprawione
name = „Anna”
city = „Moskwa”
print(„Cześć,”, name)

4. Dlaczego: program wykonał się bez żadnego błędu, ale zmienne były pomieszane. To najbardziej podstępny typ błędu: Python nie mogą wiedzieć, że nie miałeś na myśli tego, co napisałeś.

Laboratorium 5. Zły tłumacz – Pozdrowienia z rozdziału 2

1. Przewidywanie: przeczytaj poniższy kod – co myślisz, że się wydarzy?

zepsuty kod
import requests
print(„Pakiet znaleziony!”)

2. Uciekaj — zobaczycie: ModuleNotFoundError: No module named 'requests' (хотя вы точно его ставили!)

3. Poprawka:

naprawione
# w VS Code: Ctrl+Shift+P -> „Python: Select Interpreter”
# Wybierz interpretera z aktywnego projektu . venv

4. Dlaczego: pakiet zainstalowany w jednym środowisku, a kod uruchamiany przez inne — klasyczny problem z rozdziału 2 (sekcja 2.16). Sprawdź sys.executable oraz wybranego interpretera w edytorze.

Praktyka: Przeczytaj traceback (SyntaxError)
Interaktywny laptop bezpośrednio w przeglądarce – znajdź brakujące nawiasy i cudzysłowy
Otwórz praktykę →