Python - funkcje


Czym jest funkcja? (Teoria dla nieinformatyka)

Wyobraź sobie funkcję jako przepis w kuchni. Przepis na "Naleśniki" mówi Ci dokładnie, co masz zrobić, ale dopóki go nie użyjesz, nie masz jedzenia. Funkcja to taki zapasowy kod, który „śpi”, dopóki go nie zawołasz po nazwie.

Dlaczego to jest genialne?

  • Raz piszesz, sto razy używasz: Nie musisz kopiować tego samego kodu w kółko.
  • Parametry (składniki): Do funkcji możesz wrzucić różne dane, a ona dopasuje wynik.
  • Porządek: Twój kod wygląda czysto i profesjonalnie.

Przykłady do przetestowania

1. Maszyna do "Pięknych Powitań"

To pokazuje, jak jedna funkcja może obsługiwać różne osoby.

def powitanie(imie, pora_dnia):
print("----------------------------")
print(f"Dzień dobry, {imie}!")
print(f"Mamy teraz {pora_dnia}. Życzę miłej nauki!")
print("----------------------------")

# Wywołujemy tę samą funkcję z różnymi danymi
powitanie("Aniu", "rano")
powitanie("Marku", "wieczór")

2. Generator Faktury (Obliczenia)

Pokazuje, że funkcja może za nas liczyć nudne rzeczy.

def podsumowanie_zakupow(nazwa_produktu, cena, ilosc):
suma = cena * ilosc
print(f"KUPUJESZ: {nazwa_produktu}")
print(f"DO ZAPŁATY: {suma} PLN")
print("Dziękujemy za zakupy!")

# Zmień dane poniżej i zobacz jak zmienia się wynik:
podsumowanie_zakupow("Kawa Arabica", 25.50, 3)

3. Kalkulator Zdrowia (BMI)

Przykład funkcji z logiką, która podejmuje decyzje (if/else).

def sprawdz_bmi(imie, waga, wzrost_m):
bmi = waga / (wzrost_m ** 2)
print(f"Wynik BMI dla {imie}: {round(bmi, 2)}")
if bmi < 18.5:
print("Status: Niedowaga")
elif bmi < 25:
print("Status: Waga prawidłowa")
else:
print("Status: Nadwaga")

# Testujemy dla różnych osób:
sprawdz_bmi("Adam", 85, 1.80)
print("-" * 10)
sprawdz_bmi("Ewa", 55, 1.65)

Zadania do samodzielnego wykonania

Zadanie 1: Sumator liczb

Twoim zadaniem jest napisanie funkcji o nazwie suma. Funkcja powinna przyjmować dwa parametry (liczby), dodawać je do siebie i wypisywać wynik w formie komunikatu: "Wynik dodawania to: [wynik]".

Zadanie 2: Obliczanie średniej ocen

Napisz funkcję o nazwie srednia_ocen. Funkcja ma przyjmować trzy parametry (np. oceny z matematyki, polskiego i angielskiego). Zadaniem funkcji jest zsumowanie tych ocen, podzielenie wyniku przez 3 i wypisanie średniej na ekranie.

Zadanie 3: Przelicznik minut na sekundy

Stwórz funkcję czas_w_sekundach, która przyjmuje jeden parametr: liczbę minut. Funkcja ma przeliczyć minuty na sekundy (mnożąc przez 60) i wyświetlić wynik, np.: "X minut to Y sekund".

Zadanie 4: Kalkulator zysku (Sklep)

Wyobraź sobie, że prowadzisz sklep. Napisz funkcję oblicz_zysk, która przyjmuje dwa parametry: cena_sprzedazy oraz cena_zakupu. Funkcja powinna odjąć cenę zakupu od ceny sprzedaży i wypisać informację, ile zarobiłeś na jednej sztuce towaru.

Zadanie 5: Generator ceny z VAT

Napisz funkcję cena_brutto, która przyjmuje cenę netto produktu. Funkcja ma obliczyć cenę z 23% podatkiem VAT (pomnożyć cenę netto przez 1.23) i wyświetlić ostateczną kwotę do zapłaty.

Zadanie 6: Przelicznik prędkości (km/h na m/s)

Napisz funkcję o nazwie predkosc_ms, która przyjmuje prędkość w km/h. Aby otrzymać wynik w metrach na sekundę, podziel podaną wartość przez 3.6. Niech funkcja wypisze wynik w czytelnym zdaniu.