Liceum Klasa III 45 minut PP: II.1 | s. 343

Lekcja 1: Powtorzenie - programowanie, zmienne, instrukcje sterujace

Python od podstaw: zmienne, typy danych, if/else, petle, funkcje

📋 Podstawa programowa: II.1
Pythonif/elsepetlepodstawypowtorkapowtorzenieprogramowaniezmienne
00:00
Wprowadzenie
5 min
00:05
Teoria
15 min
00:20
Cwiczenia
15 min
00:35
Podsumowanie
10 min
📚

Teoria

Wprowadzenie - dlaczego powtarzamy?

Klasa III to czas, w ktorym powinieneses swobodnie poruszac sie w srodowisku programistycznym. Ta lekcja jest powtorzeniem najwazniejszych zagadnien z Pythona, ktore beda fundamentem do bardziej zaawansowanych tematow w tym roku szkolnym. Upewnimy sie, ze kazdy uczen opanuje podstawy na poziomie pozwalajacym na samodzielna prace.

Zmienne i typy danych w Pythonie

Zmienna to nazwane miejsce w pamieci komputera, w ktorym przechowujemy dane. W Pythonie nie deklarujemy typu zmiennej - jest on ustalany automatycznie na podstawie przypisanej wartosci (typowanie dynamiczne).

Glowne typy danych w Pythonie:
int - liczby calkowite (np. 42, -7)
float - liczby zmiennoprzecinkowe (np. 3.14, -0.5)
str - lancuchy znakow (np. "Witaj", 'Python')
bool - wartosci logiczne (True, False)
list - listy (np. [1, 2, 3])
dict - slowniki (np. {"klucz": "wartosc"})
# Przykladowe zmienne
imie = "Jan"            # str
wiek = 17               # int
srednia = 4.75           # float
zdal_egzamin = True      # bool

# Sprawdzanie typu
print(type(imie))        # <class 'str'>
print(type(wiek))        # <class 'int'>

# Konwersja typow
tekst_liczby = "123"
liczba = int(tekst_liczby)   # konwersja str -> int
print(liczba + 10)           # 133

Instrukcje warunkowe (if / elif / else)

Instrukcje warunkowe pozwalaja na wykonywanie roznych fragmentow kodu w zaleznosci od spelnienia warunku. Python uzywa wciecia (indentacji) zamiast klamer do oznaczenia blokow kodu.

# Prosta instrukcja warunkowa
wiek = int(input("Podaj swoj wiek: "))

if wiek >= 18:
    print("Jestes pelnoletni")
elif wiek >= 13:
    print("Jestes nastolatkiem")
else:
    print("Jestes dzieckiem")

# Operatory porownania: ==, !=, <, >, <=, >=
# Operatory logiczne: and, or, not

ocena = 5
frekwencja = 95
if ocena >= 4 and frekwencja >= 90:
    print("Swietny uczen!")

Petle (for i while)

Petla for sluzy do iterowania po sekwencji (liscie, zakresie, napisie). Petla while wykonuje kod tak dlugo, jak warunek jest prawdziwy.

# Petla for z range()
for i in range(5):        # 0, 1, 2, 3, 4
    print(i)

for i in range(1, 11):    # 1, 2, ..., 10
    print(i)

# Petla for po liscie
przedmioty = ["informatyka", "matematyka", "fizyka"]
for p in przedmioty:
    print(f"Lubie {p}")

# Petla while
liczba = 1
while liczba <= 10:
    print(liczba)
    liczba += 1

# break i continue
for i in range(100):
    if i == 5:
        break           # przerywa petle
    if i % 2 == 0:
        continue        # pomija reszte iteracji
    print(i)            # wypisze: 1, 3

Funkcje

Funkcje pozwalaja na grupowanie kodu w logiczne bloki, ktore mozna wielokrotnie wywolywac. Funkcja moze przyjmowac argumenty i zwracac wartosc.

# Definicja funkcji
def powitanie(imie):
    return f"Czesc, {imie}!"

print(powitanie("Anna"))   # Czesc, Anna!

# Funkcja z wartoscia domyslna
def potega(baza, wykladnik=2):
    return baza ** wykladnik

print(potega(3))       # 9  (3^2)
print(potega(2, 10))   # 1024 (2^10)

# Funkcja z wieloma wartosciami zwracanymi
def statystyki(lista):
    return min(lista), max(lista), sum(lista) / len(lista)

mini, maksi, srednia = statystyki([4, 7, 2, 9, 1])
print(f"Min: {mini}, Max: {maksi}, Srednia: {srednia}")
✏️

Zadania

Latwe

Zadanie 1: Kalkulator BMI

Napisz program, ktory pobiera od uzytkownika wage (w kg) i wzrost (w metrach), oblicza wskaznik BMI (waga / wzrost^2) i wyswietla kategorie: <18.5 - niedowaga, 18.5-24.9 - norma, 25-29.9 - nadwaga, >=30 - otylosc.

Pokaz rozwiazanie
waga = float(input("Podaj wage w kg: "))
wzrost = float(input("Podaj wzrost w metrach: "))

bmi = waga / (wzrost ** 2)
print(f"Twoje BMI: {bmi:.1f}")

if bmi < 18.5:
    print("Kategoria: niedowaga")
elif bmi < 25:
    print("Kategoria: norma")
elif bmi < 30:
    print("Kategoria: nadwaga")
else:
    print("Kategoria: otylosc")
Srednie

Zadanie 2: FizzBuzz

Napisz program, ktory dla liczb od 1 do 100 wypisuje: "Fizz" jesli liczba jest podzielna przez 3, "Buzz" jesli przez 5, "FizzBuzz" jesli przez oba, a w przeciwnym razie sama liczbe.

Pokaz rozwiazanie
for i in range(1, 101):
    if i % 3 == 0 and i % 5 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)
Srednie

Zadanie 3: Silnia i ciag Fibonacciego

Napisz dwie funkcje: silnia(n) obliczajaca n! oraz fibonacci(n) zwracajaca n-ty wyraz ciagu Fibonacciego. Przetestuj je dla roznych wartosci.

Pokaz rozwiazanie
def silnia(n):
    if n <= 1:
        return 1
    wynik = 1
    for i in range(2, n + 1):
        wynik *= i
    return wynik

def fibonacci(n):
    if n <= 0:
        return 0
    if n == 1:
        return 1
    a, b = 0, 1
    for _ in range(2, n + 1):
        a, b = b, a + b
    return b

# Testy
for i in range(8):
    print(f"silnia({i}) = {silnia(i)}")
    print(f"fibonacci({i}) = {fibonacci(i)}")
    print()
Trudne

Zadanie 4: Statystyki ocen

Napisz program, ktory wczytuje oceny uczniow (zakonczenie: wpisanie 0), a nastepnie oblicza i wyswietla: srednia, mediane, najwyzsza i najnizsza ocene, ile ocen pozytywnych (>=2) i negatywnych (1).

Pokaz rozwiazanie
def mediana(lista):
    posortowana = sorted(lista)
    n = len(posortowana)
    if n % 2 == 1:
        return posortowana[n // 2]
    else:
        return (posortowana[n // 2 - 1] + posortowana[n // 2]) / 2

oceny = []
while True:
    ocena = int(input("Podaj ocene (0 = koniec): "))
    if ocena == 0:
        break
    if 1 <= ocena <= 6:
        oceny.append(ocena)
    else:
        print("Nieprawidlowa ocena!")

if oceny:
    print(f"Liczba ocen: {len(oceny)}")
    print(f"Srednia: {sum(oceny)/len(oceny):.2f}")
    print(f"Mediana: {mediana(oceny)}")
    print(f"Najwyzsza: {max(oceny)}")
    print(f"Najnizsza: {min(oceny)}")
    print(f"Pozytywne: {sum(1 for o in oceny if o >= 2)}")
    print(f"Negatywne: {sum(1 for o in oceny if o == 1)}")
else:
    print("Nie podano zadnych ocen.")
🎥

Materialy wideo

Programowanie w C# (wykład) - 05 - Instrukcje sterujące
Jacek Matulewski
Programowanie w C# (wykład) - 03 - Zmienne
Jacek Matulewski
🎧

Podcasty

✔️

Quiz - sprawdz sie!

📜

Podstawa programowa

← Siatka godzinowa Lekcja 2: Zaawansowane programowanie →