Lekcja 5 / porządek
Słowniki i funkcje: porządek w danych i logice
Gdy jedna lekcja ma tytuł, czas trwania i status ukończenia, sama lista tekstów przestaje wystarczać. Słownik porządkuje dane, a funkcja porządkuje powtarzalną logikę.
Sytuacja z pracy
Chcesz opisać jedną lekcję dokładniej niż samym tytułem. Potrzebujesz tytułu, czasu trwania i informacji, czy uczeń ją ukończył. Potem chcesz wyświetlać jej status w czytelny sposób.
Widoczne dane
| pole | wartość |
|---|---|
| title | Zmienne |
| duration_minutes | 45 |
| completed | True |
Kod: słownik
lesson = {
"title": "Zmienne",
"duration_minutes": 45,
"completed": True
}
print(lesson["title"])
print(lesson["duration_minutes"])
Wynik
Zmienne
45
Co daje słownik?
Słownik łączy klucze i wartości. Klucz "title" prowadzi do tytułu lekcji,
"completed" do informacji prawda/fałsz. Dzięki temu dane zaczynają przypominać realny obiekt z aplikacji.
Kod: funkcja statusu
def show_lesson_status(lesson):
if lesson["completed"]:
return lesson["title"] + " - ukończona"
return lesson["title"] + " - do zrobienia"
lesson = {
"title": "Zmienne",
"duration_minutes": 45,
"completed": True
}
print(show_lesson_status(lesson))
Wynik
Zmienne - ukończona
Po co funkcja?
Funkcja pozwala nazwać kawałek logiki. Zamiast za każdym razem pisać warunek od nowa,
wywołujesz show_lesson_status(lesson). To nie jest trik dla seniorów. To zwykłe sprzątanie kodu.
Mini-zadanie
Zmień "completed" na False i sprawdź, jaki status zwróci funkcja.
Ćwiczenie praktyczne
Dodaj drugi słownik lesson_2 z tytułem "Warunki". Wywołaj funkcję dla obu lekcji
i porównaj wynik.
Quiz
Czym jest klucz w słowniku?
Nazwą, po której odczytujesz konkretną wartość.
Co robi return?
Zwraca wynik funkcji do miejsca, w którym funkcja została wywołana.
Po co nazywać logikę funkcją?
Żeby nie powtarzać kodu i łatwiej rozumieć, co robi dany fragment programu.
Co dalej?
Dane w słowniku żyją tylko podczas działania programu. W następnej lekcji zapiszesz postęp do pliku JSON, żeby program mógł wrócić do danych później.