Technikum Klasa I 45 minut PP: II.1 | s. 343

Lekcja 18: Instrukcje warunkowe - zadania praktyczne

Cwiczenia utrwalajace stosowanie if, elif, else w roznych kontekstach

📋 Podstawa programowa: II.1
cwiczeniaif/elseinstrukcje warunkowezadania
00:00
Przypomnienie
5 min
00:05
Teoria - wzorce
10 min
00:15
Cwiczenia
25 min
00:40
Podsumowanie
5 min
📚

Teoria

Wzorce stosowania instrukcji warunkowych

Podczas pisania programow z instrukcjami warunkowymi warto znac typowe wzorce, ktore powtarzaja sie w wielu zadaniach.

Wskazowka: Zanim zaczniesz kodowac, narysuj schemat blokowy lub wypisz warunki na kartce. Pomoze to uniknac bledow logicznych!

Wzorzec 1: Walidacja danych wejsciowych

wiek = int(input("Podaj wiek: "))
if wiek < 0 or wiek > 150:
    print("Blad! Podaj prawidlowy wiek.")
else:
    print(f"Twoj wiek to {wiek} lat.")

Wzorzec 2: Klasyfikacja (przedzialowa)

# Klasyfikacja temperatury
temp = float(input("Podaj temperature: "))
if temp < 0:
    print("Mroz")
elif temp < 10:
    print("Zimno")
elif temp < 20:
    print("Chlodno")
elif temp < 30:
    print("Cieplo")
else:
    print("Goraco")

Wzorzec 3: Menu wyboru

print("1. Dodawanie")
print("2. Odejmowanie")
print("3. Mnozenie")
wybor = input("Wybierz opcje (1-3): ")

if wybor == "1":
    print("Wybrales dodawanie")
elif wybor == "2":
    print("Wybrales odejmowanie")
elif wybor == "3":
    print("Wybrales mnozenie")
else:
    print("Nieprawidlowy wybor!")

Wzorzec 4: Maksimum / minimum

a = int(input("Podaj a: "))
b = int(input("Podaj b: "))
c = int(input("Podaj c: "))

maks = a
if b > maks:
    maks = b
if c > maks:
    maks = c
print(f"Maksimum: {maks}")

# Lub krocej:
maks = max(a, b, c)

Czeste bledy

  • Brak dwukropka po if, elif, else
  • Uzywanie = zamiast == w porownaniach
  • Zle wciecia - Python wymaga konsekwentnych wciec
  • Porownywanie stringow z liczbami - "5" != 5
✏️

Zadania

Latwe

Zadanie 1: Kalkulator z menu

Napisz prosty kalkulator: uzytkownik podaje dwie liczby i wybiera dzialanie (+, -, *, /). Program wyswietla wynik. Pamietaj o obsludze dzielenia przez zero!

Pokaz przykladowe rozwiazanie
a = float(input("Podaj pierwsza liczbe: "))
b = float(input("Podaj druga liczbe: "))
op = input("Wybierz dzialanie (+, -, *, /): ")

if op == "+":
    print(f"{a} + {b} = {a + b}")
elif op == "-":
    print(f"{a} - {b} = {a - b}")
elif op == "*":
    print(f"{a} * {b} = {a * b}")
elif op == "/":
    if b == 0:
        print("Blad! Nie mozna dzielic przez zero!")
    else:
        print(f"{a} / {b} = {a / b}")
else:
    print("Nieznane dzialanie!")
Srednie

Zadanie 2: Ocena z przedzialu punktow

Napisz program, ktory na podstawie liczby punktow (0-100) wystawia ocene: 0-29 ndst, 30-49 dop, 50-69 dst, 70-84 db, 85-94 bdb, 95-100 cel. Sprawdz poprawnosc danych wejsciowych!

Pokaz przykladowe rozwiazanie
pkt = int(input("Podaj liczbe punktow (0-100): "))

if pkt < 0 or pkt > 100:
    print("Blad! Punkty musza byc w zakresie 0-100.")
elif pkt >= 95:
    print(f"{pkt} pkt -> ocena: celujacy (6)")
elif pkt >= 85:
    print(f"{pkt} pkt -> ocena: bardzo dobry (5)")
elif pkt >= 70:
    print(f"{pkt} pkt -> ocena: dobry (4)")
elif pkt >= 50:
    print(f"{pkt} pkt -> ocena: dostateczny (3)")
elif pkt >= 30:
    print(f"{pkt} pkt -> ocena: dopuszczajacy (2)")
else:
    print(f"{pkt} pkt -> ocena: niedostateczny (1)")
Srednie

Zadanie 3: Liczba dni w miesiacu

Napisz program, ktory na podstawie numeru miesiaca (1-12) i roku wyswietla liczbe dni w tym miesiacu. Uwzglednij lata przestepne (luty: 28 lub 29 dni).

Pokaz przykladowe rozwiazanie
miesiac = int(input("Podaj numer miesiaca (1-12): "))
rok = int(input("Podaj rok: "))

if miesiac in [1, 3, 5, 7, 8, 10, 12]:
    dni = 31
elif miesiac in [4, 6, 9, 11]:
    dni = 30
elif miesiac == 2:
    if (rok % 4 == 0 and rok % 100 != 0) or rok % 400 == 0:
        dni = 29
    else:
        dni = 28
else:
    print("Nieprawidlowy numer miesiaca!")
    dni = 0

if dni > 0:
    print(f"Miesiac {miesiac}/{rok} ma {dni} dni.")
Trudne

Zadanie 4: Kamien, papier, nozyce

Napisz gre "kamien, papier, nozyce" - gracz podaje swoj wybor, komputer losuje (uzyj import random i random.choice()). Program wyswietla wynik: wygrana, przegrana lub remis.

Pokaz przykladowe rozwiazanie
import random

opcje = ["kamien", "papier", "nozyce"]
komputer = random.choice(opcje)
gracz = input("Wybierz (kamien/papier/nozyce): ").lower()

if gracz not in opcje:
    print("Nieprawidlowy wybor!")
else:
    print(f"Komputer wybral: {komputer}")

    if gracz == komputer:
        print("Remis!")
    elif (gracz == "kamien" and komputer == "nozyce") or \
         (gracz == "papier" and komputer == "kamien") or \
         (gracz == "nozyce" and komputer == "papier"):
        print("Wygrales!")
    else:
        print("Przegrales!")
🎥

Materialy wideo

Wyrażenia logiczne, instrukcje warunkowe i pętle
Jak nauczyć się programowania
5. Kurs C++ dla początkujących - Instrukcje warunkowe (if, else)
Kanał o Wszystkim
🎧

Podcasty

✔️

Quiz - sprawdz sie!

📜

Podstawa programowa

← Lekcja 17: Instrukcje warunkowe - if, else, elif Lekcja 19: Petla for →