====== Logikai feltételek alapjai ====== * A program döntéseket hoz * Feltételek eredménye: True vagy False (nagybetűvel kell kezdeni!) **Összehasonlító operátorok:** * == egyenlő * != nem egyenlő * <, >, <=, >= | print(5 > 3) | True | | print(10 == 7) | False | | print(4 != 4) | False | ---- ==== if / elif / else ==== * A behúzás (indentálás) kötelező * Csak az egyik ág fut le if feltétel: utasítás elif másik_feltétel: utasítás else: utasítás #Példa kor = int(input("Add meg az életkorod: ")) if kor < 18: print("Kiskorú") elif kor < 65: print("Felnőtt") else: print("Nyugdíjas") Feladat: Kérj be egy számot. Írd ki, hogy pozitív, negatív vagy nulla. szam = float(input("Adj meg egy számot: ")) if szam > 0: print("Pozitív") elif szam < 0: print("Negatív") else: print("Nulla") ---- ==== Logikai operátorok ==== * and – és * or – vagy * not – tagadás #Példa kor = 20 jogsi = True if kor >= 18 and jogsi: print("Vezethet") else: print("Nem vezethet") Feladat: Kérd be a felhasználó életkorát és jegyét (1–5). Írd ki, hogy átment-e (kor ≥ 18 és jegy ≥ 2). kor = int(input("Életkor: ")) jegy = int(input("Jegy (1-5): ")) if kor >= 18 and jegy >= 2: print("Átment") else: print("Nem ment át") ---- ==== for ciklus ==== * Ismétlés előre ismert lépésszámmal * range(start, end, step) #Példa for i in range(5): print(i) for i in range(1, 6): print(i) Feladat: Írd ki a számokat 1-től 10-ig. Írd ki az 1–10 számok négyzetét. for i in range(1, 11): print(i) for i in range(1, 11): print(i, "négyzete:", i ** 2) ---- ==== while ciklus ==== * Ismétlés addig, amíg a feltétel igaz * Vigyázat: végtelen ciklus lehet, ha a ciklus változót nem léptetjük. #Példa i = 1 while i <= 5: print(i) i += 1 Feladat:Kérj be számokat addig, amíg a felhasználó 0-t nem ad meg. Írd ki, hány számot adott meg. db = 0 while True: szam = float(input("Adj meg egy számot (0 = kilépés): ")) if szam == 0: break db += 1 print("Megadott számok száma:", db) ---- ==== Összefoglaló feladatok ==== **Feladat:** Kérj be egy pozitív egész számot és írd ki az összes páros számot eddig a számig. n = int(input("Adj meg egy pozitív egész számot: ")) for i in range(2, n + 1, 2): print(i) **Feladat:** Számkitaláló és számértékelő program # 1. Szám bekérése szam = int(input("Adj meg egy egész számot: ")) # 2. If / Elif / Else használata if szam > 0: print("A szám pozitív.") elif szam < 0: print("A szám negatív.") else: print("A szám nulla.") # 3. For ciklus használata print("Számok 1-től a megadott számig:") for i in range(1, szam + 1): print(i) # 4. While ciklus használata print("Találd ki, melyik számra gondoltam (1 és 10 között)!") tipp = 0 while tipp != 5: tipp = int(input("Add meg a tipped: ")) if tipp < 5: print("Túl kicsi!") elif tipp > 5: print("Túl nagy!") else: print("Gratulálok, eltaláltad!") **Feladat:** Írj programot, amely: - Bekéri, hány darab jegyet szeretne a felhasználó megadni. - Egy for ciklus segítségével bekéri a jegyeket (1–5 között). - if / elif / else szerkezettel ellenőrzi, hogy a jegy érvényes-e. - Kiszámolja az átlagot. - Egy while ciklussal addig kér új jegyet, amíg a felhasználó nem ad érvényes (1–5 közötti) számot. # 1. Hány jegyet ad meg a felhasználó? db = int(input("Hány jegyet szeretnél megadni? ")) osszeg = 0 ervenyes_db = 0 # 2. For ciklus a jegyek bekérésére for i in range(db): jegy = int(input(f"Add meg a(z) {i+1}. jegyet (1-5): ")) # 5. While ciklus – érvényes jegy ellenőrzése while jegy < 1 or jegy > 5: print("Érvénytelen jegy! Csak 1 és 5 közötti szám lehet.") jegy = int(input("Add meg újra a jegyet (1-5): ")) # 3. If / Elif / Else – jegy szöveges értékelése if jegy == 5: print("Jeles") elif jegy == 4: print("Jó") elif jegy == 3: print("Közepes") elif jegy == 2: print("Elégséges") else: print("Elégtelen") osszeg += jegy ervenyes_db += 1 # 4. Átlag számítása if ervenyes_db > 0: atlag = osszeg / ervenyes_db print("Az átlag:", atlag) else: print("Nem adtál meg érvényes jegyet.") **Extra feladat (vektorok/tömbök későbbi anyagban)** Írj programot, amely egy egyszerű pénztárgépet szimulál: - Kiír egy menüt termékekkel és árakkal. - A felhasználó szám alapján választ terméket. - A program addig kér új terméket, amíg a felhasználó 0-t nem ad meg. - Számolja az összes fizetendő összeget. - A végén kiírja: a végösszeget, továbbá, hogy olcsó / közepes / drága vásárlás volt (if / elif / else segítségével). # Terméklista (for ciklussal fogjuk kiírni) termekek = ["Kenyér", "Tej", "Csokoládé", "Alma"] arak = [500, 400, 300, 200] vegosszeg = 0 valasztas = -1 print("=== MINI BOLTI PÉNZTÁRGÉP ===") # While ciklus – vásárlás folytatása 0-ig while valasztas != 0: print("\nVálasztható termékek:") # For ciklus – lista kiírása for i in range(len(termekek)): print(f"{i+1}. {termekek[i]} - {arak[i]} Ft") print("0. Fizetés") valasztas = int(input("Válassz terméket (szám alapján): ")) if valasztas == 0: break # If / Elif / Else – választás ellenőrzése if 1 <= valasztas <= len(termekek): vegosszeg += arak[valasztas - 1] print("Hozzáadva a kosárhoz.") else: print("Érvénytelen választás!") # Fizetés print("\nFizetendő összeg:", vegosszeg, "Ft") # Vásárlás értékelése if vegosszeg == 0: print("Nem vásároltál semmit.") elif vegosszeg < 1000: print("Olcsó vásárlás volt.") elif vegosszeg < 3000: print("Közepes értékű vásárlás volt.") else: print("Drága vásárlás volt.")