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.
1. Przewidywanie: przeczytaj poniższy kod – co myślisz, że się wydarzy?
print("Привет, мир!
2. Uciekaj — zobaczycie: SyntaxError: unterminated string literal
3. Poprawka:
print(„Witaj, świecie!”)
4. Dlaczego: cudzysłowy otwierające nie miały pary, Python nie rozumiały końca tekstu.
1. Przewidywanie: przeczytaj poniższy kod – co myślisz, że się wydarzy?
user_name = "Cartesian"
print(usr_name)
2. Uciekaj — zobaczycie: NameError: name 'usr_name' is not defined
3. Poprawka:
user_name = "Cartesian"
print(user_name)
4. Dlaczego: literówka w nazwie — usr_name zamiast user_name. Python nie „zgaduje”
1. Przewidywanie: przeczytaj poniższy kod – co myślisz, że się wydarzy?
print(„Początek”)
print(„Kontynuacja”)
2. Uciekaj — zobaczycie: IndentationError: unexpected indent
3. Poprawka:
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.
1. Przewidywanie: przeczytaj poniższy kod – co myślisz, że się wydarzy?
name = „Anna”
city = „Moskwa”
print(„Cześć,”, city)
2. Uciekaj — zobaczycie: Привет, Москва (а должно быть — имя)
3. Poprawka:
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ś.
1. Przewidywanie: przeczytaj poniższy kod – co myślisz, że się wydarzy?
import requests
print(„Pakiet znaleziony!”)
2. Uciekaj — zobaczycie: ModuleNotFoundError: No module named 'requests' (хотя вы точно его ставили!)
3. Poprawka:
# 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.