**Podstawy Pythonu: Kontrola Przepływu i Funkcje

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.

Learning Objectives

  • Zrozumienie działania instrukcji warunkowych `if`, `elif` i `else`.
  • Umiejętność używania pętli `for` i `while` do iteracji po danych.
  • Tworzenie i wywoływanie prostych funkcji w Pythonie.
  • Zrozumienie roli wcięć (indentacji) w kodzie Pythona.

Lesson Content

Instrukcje Warunkowe: If, Elif, Else

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: For i While

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: Tworzenie Własnego Kodu

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}")

Deep Dive

Explore advanced insights, examples, and bonus exercises to deepen understanding.

Rozszerzona Treść Lekcji: Python dla Nauki o Danych - Dzień 2

Deep Dive Section: Zaawansowane Koncepty i Alternatywne Perspektywy

Po opanowaniu podstaw instrukcji warunkowych, pętli i funkcji, warto zagłębić się w bardziej zaawansowane aspekty.

1. Złożone Warunki i Operatory Logiczne

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!

2. List Comprehensions (Listy Składane)

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.

3. Argumenty Funkcji i Wartości Domyślne

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.
      
    

Bonus Exercises

Ćwiczenie 1: Kalkulator Budżetu

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.

Podpowiedź

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).

Ćwiczenie 2: Lista Składana z Filtrowaniem

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.

Podpowiedź

Skorzystaj z operatora modulo `%` i instrukcji `if` w liście składanej.

Real-World Connections

Instrukcje warunkowe i pętle to fundamenty każdego programu. W świecie danych znajdują zastosowanie w wielu sytuacjach:

  • Analiza Danych: Filtrowanie danych (np. wybieranie tylko tych wierszy w których wiek jest powyżej 18 lat), agregacja danych (np. obliczanie średniej tylko dla pozytywnych wartości).
  • Automatyzacja Procesów: Automatyczne przetwarzanie plików, generowanie raportów, przetwarzanie danych w pętlach (np. iteracja po kolumnach w pliku CSV).
  • Tworzenie Algorytmów: Budowanie algorytmów uczenia maszynowego (np. algorytmów decyzyjnych, gdzie instrukcje `if` decydują o dalszym działaniu).

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.

Challenge Yourself

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.

Further Learning

Aby kontynuować naukę, rozważ następujące tematy:

  • Wyszukiwanie i sortowanie: Naucz się podstawowych algorytmów wyszukiwania (np. wyszukiwanie liniowe, binarne) i sortowania (np. sortowanie bąbelkowe, quicksort).
  • Praca z plikami: Jak odczytywać i zapisywać dane do plików (CSV, TXT). To bardzo ważne w analizie danych.
  • Debugowanie kodu: Naucz się korzystać z narzędzi do debugowania w Pythonie, aby identyfikować i naprawiać błędy w kodzie.
  • Moduły i biblioteki: Poznaj podstawowe moduły Pythona (np. `os`, `datetime`, `math`) oraz biblioteki związane z nauką o danych (np. `numpy` - do pracy z tablicami, `pandas` - do analizy danych).

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ę!

Interactive Exercises

Sprawdzanie Parzystości

Napisz program, który pobiera od użytkownika liczbę i sprawdza, czy jest ona parzysta czy nieparzysta. Wykorzystaj instrukcję `if` i operator `%` (modulo).

Wyświetlanie Listy Z Pętlą

Utwórz listę ulubionych książek. Użyj pętli `for`, aby wyświetlić każdą książkę z listy.

Kalkulator (Prosty)

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.

Analiza Pogody (Refleksja)

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?

Knowledge Check

Question 1: Która instrukcja służy do definiowania funkcji w Pythonie?

Question 2: Jakiego słowa kluczowego używamy, aby sprawdzić wiele warunków w instrukcji warunkowej?

Question 3: Która pętla jest używana do iteracji po sekwencjach (np. listach)?

Question 4: Co robi operator `%`?

Question 5: Jakiego kluczowego słowa używamy w funkcji, aby zwrócić wartość?

Practical Application

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ą.

Key Takeaways

Next Steps

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.

Your Progress is Being Saved!

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.

Next Lesson (Day 3)