Table of Contents
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
<sxh python> #Példa kor = int(input(“Add meg az életkorod: ”))
if kor < 18:
print("Kiskorú")
elif kor < 65:
print("Felnőtt")
else:
print("Nyugdíjas")
</sxh>
Feladat: Kérj be egy számot. Írd ki, hogy pozitív, negatív vagy nulla. <sxh python> szam = float(input(“Adj meg egy számot: ”))
if szam > 0:
print("Pozitív")
elif szam < 0:
print("Negatív")
else:
print("Nulla")
</sxh>
Logikai operátorok
- and – és
- or – vagy
- not – tagadás
<sxh python> #Példa kor = 20 jogsi = True
if kor >= 18 and jogsi:
print("Vezethet")
else:
print("Nem vezethet")
</sxh>
Feladat: Kérd be a felhasználó életkorát és jegyét (1–5). Írd ki, hogy átment-e (kor ≥ 18 és jegy ≥ 2).
<sxh python> kor = int(input(“Életkor: ”)) jegy = int(input(“Jegy (1-5): ”))
if kor >= 18 and jegy >= 2:
print("Átment")
else:
print("Nem ment át")
</sxh>
for ciklus
- Ismétlés előre ismert lépésszámmal
- range(start, end, step)
<sxh python> #Példa for i in range(5):
print(i)
for i in range(1, 6):
print(i)
</sxh>
Feladat: Írd ki a számokat 1-től 10-ig. Írd ki az 1–10 számok négyzetét. <sxh python> for i in range(1, 11):
print(i)
for i in range(1, 11):
print(i, "négyzete:", i ** 2)
</sxh>
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.
<sxh python> #Példa i = 1 while i ⇐ 5:
print(i) i += 1
</sxh>
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. <sxh python> 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) </sxh>
Ö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. <sxh python> n = int(input(“Adj meg egy pozitív egész számot: ”))
for i in range(2, n + 1, 2):
print(i)
</sxh>
Feladat: Számkitaláló és számértékelő program <sxh python> # 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!")
</sxh>
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.
<sxh python> # 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.")
</sxh>
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).
<sxh python> # 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.")
</sxh>
