W dzisiejszej lekcji zgłębimy podstawy sterowania przepływem programów w Pythonie, czyli instrukcje warunkowe i pętle. Nauczymy się także tworzyć własne funkcje, co pozwoli nam pisać bardziej zorganizowany i efektywny kod.
Instrukcje warunkowe pozwalają na wykonywanie różnych fragmentów kodu w zależności od spełnienia określonych warunków. Podstawą jest instrukcja if
, która sprawdza warunek i wykonuje kod tylko wtedy, gdy warunek jest prawdziwy. Dodatkowo możemy użyć elif
(skrót od 'else if'), aby sprawdzić kolejne warunki, jeśli poprzednie były fałszywe, i else
, aby wykonać kod, jeśli żaden z poprzednich warunków nie został spełniony.
Przykład:
wiek = 20
if wiek >= 18:
print("Jesteś pełnoletni/a.")
else:
print("Jesteś niepełnoletni/a.")
wynik = 75
if wynik >= 90:
print("Ocena: A")
elif wynik >= 75:
print("Ocena: B")
elif wynik >= 60:
print("Ocena: C")
else:
print("Ocena: F")
Pamiętaj o wcięciach! W Pythonie wcięcia (zazwyczaj 4 spacje) definiują bloki kodu, które mają być wykonane w ramach instrukcji warunkowej czy pętli. To kluczowe dla działania programu!
Pętle pozwalają na wielokrotne wykonywanie bloku kodu. Pętla for
jest idealna do iteracji po sekwencjach (listach, krotkach, ciągach znaków). Pętla while
wykonuje kod, dopóki warunek jest prawdziwy.
Przykład for
:
owoce = ["jabłko", "banan", "pomarańcza"]
for i in owoce:
print(i)
for liczba in range(1, 6): # Iteracja od 1 do 5
print(liczba * 2)
Przykład while
:
licznik = 0
while licznik < 5:
print(f"Licznik: {licznik}")
licznik += 1
Funkcje to bloki kodu, które można wywołać w dowolnym momencie programu, aby wykonać określone zadanie. Pozwalają one na ponowne wykorzystanie kodu i organizację programu. Definiujemy funkcje za pomocą słowa kluczowego def
.
Przykład:
def przywitanie(imie):
print(f"Witaj, {imie}!")
def dodaj(a, b):
return a + b # funkcja zwraca wynik
przywitanie("Ania")
wynik = dodaj(5, 3)
print(f"Wynik dodawania: {wynik}")
Explore advanced insights, examples, and bonus exercises to deepen understanding.
Po opanowaniu podstaw instrukcji warunkowych, pętli i funkcji, warto zagłębić się w bardziej zaawansowane aspekty.
Pamiętamy, że instrukcje `if`, `elif` i `else` pozwalają na kontrolę przepływu programu. Ale co, jeśli potrzebujemy ocenić więcej niż jeden warunek jednocześnie? W Pythonie używamy operatorów logicznych: `and` (i), `or` (lub) i `not` (negacja).
wiek = 20
kategoria = "student"
if wiek >= 18 and kategoria == "student":
print("Przysługuje zniżka studencka.")
elif not (wiek < 18):
print("Jesteś pełnoletni.")
else:
print("Nie przysługują zniżki.")
Zauważ, jak `not` odwraca wartość logiczną wyrażenia. To potężne narzędzie!
Listy składane to elegancki sposób na tworzenie list w Pythonie. Zamiast pisać pętlę, możemy skrócić kod do jednej linii.
liczby = [1, 2, 3, 4, 5]
kwadraty = [x**2 for x in liczby]
print(kwadraty) # Output: [1, 4, 9, 16, 25]
Możemy również dodawać warunki do list składanych:
liczby = [1, 2, 3, 4, 5, 6]
parzyste_kwadraty = [x**2 for x in liczby if x % 2 == 0]
print(parzyste_kwadraty) # Output: [4, 16, 36]
Listy składane zwiększają czytelność kodu i są bardzo wydajne.
Poza przekazywaniem argumentów do funkcji, możemy również ustawiać wartości domyślne. Ułatwia to elastyczność i upraszcza kod.
def witaj(imie, kraj="Polska"):
print(f"Witaj, {imie}! Miło Cię widzieć w {kraj}.")
witaj("Anna") # Output: Witaj, Anna! Miło Cię widzieć w Polska.
witaj("Jan", "Niemcy") # Output: Witaj, Jan! Miło Cię widzieć w Niemcy.
Napisz program, który prosi użytkownika o podanie miesięcznych wydatków i przychodów. Program powinien obliczyć saldo (przychody - wydatki) i wyświetlić komunikat informujący, czy użytkownik ma deficyt, nadwyżkę, czy zbilansowany budżet. Użyj instrukcji warunkowych i operatorów logicznych.
Zacznij od pobrania danych od użytkownika (użyj `input()`), przekonwertuj je na liczby (`float()`). Pamiętaj o obsłudze błędów (np. jeśli użytkownik wprowadzi tekst zamiast liczby).
Mając listę liczb (np. `[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]`), stwórz nową listę składaną, która zawiera tylko liczby podzielne przez 3 i większe niż 4.
Skorzystaj z operatora modulo `%` i instrukcji `if` w liście składanej.
Instrukcje warunkowe i pętle to fundamenty każdego programu. W świecie danych znajdują zastosowanie w wielu sytuacjach:
Pomyśl o tym, jak sklepy internetowe wykorzystują instrukcje warunkowe, aby wyświetlać różne ceny dla różnych klientów, w zależności od ich historii zakupów lub kodu rabatowego. To także przykład użycia logiki w prawdziwym świecie.
Spróbuj napisać program, który symuluje prostą grę w zgadywanie liczb. Program losuje liczbę (użyj biblioteki `random`), a następnie prosi użytkownika o zgadnięcie. Program powinien informować, czy zgadnięta liczba jest za duża, za mała, lub poprawna. Zastosuj pętlę `while`, aby umożliwić wielokrotne zgadywanie.
Aby kontynuować naukę, rozważ następujące tematy:
Pamiętaj, że nauka programowania to proces. Ćwicz regularnie, eksperymentuj i nie bój się popełniać błędów – to najlepszy sposób na naukę!
Napisz program, który pobiera od użytkownika liczbę i sprawdza, czy jest ona parzysta czy nieparzysta. Wykorzystaj instrukcję `if` i operator `%` (modulo).
Utwórz listę ulubionych książek. Użyj pętli `for`, aby wyświetlić każdą książkę z listy.
Napisz funkcję, która przyjmuje dwie liczby i operator (+, -, *, /), a następnie wykonuje odpowiednie działanie. Zwróć wynik. Obsłuż błąd dzielenia przez zero.
Pomyśl o tym, jak instrukcje warunkowe i pętle mogą być używane w analizie danych pogodowych (np. sprawdzenie, czy temperatura przekracza określoną wartość, czy opady występują przez określony czas). Jakie pytania moglibyśmy zadać danym pogodowym, używając tych narzędzi?
Wyobraź sobie, że pracujesz w sklepie internetowym. Wykorzystując instrukcje warunkowe, możesz napisać kod, który automatycznie oblicza rabaty dla klientów w zależności od wartości zamówienia. Za pomocą pętli możesz iterować po produktach w koszyku i obliczać sumę końcową.
Przygotuj się na kolejną lekcję, w której omówimy typy danych, takie jak listy, krotki i słowniki. Poćwicz także rozwiązywanie zadań związanych z kontrolą przepływu i funkcjami.
We're automatically tracking your progress. Sign up for free to keep your learning paths forever and unlock advanced features like detailed analytics and personalized recommendations.