User Tools

Site Tools


tanszek:oktatas:muszaki_informatika:python_alapok_ii._feltetelek_ciklusok

This is an old revision of the document!


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:

  1. Bekéri, hány darab jegyet szeretne a felhasználó megadni.
  2. Egy for ciklus segítségével bekéri a jegyeket (1–5 között).
  3. if / elif / else szerkezettel ellenőrzi, hogy a jegy érvényes-e.
  4. Kiszámolja az átlagot.
  5. 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:

  1. Kiír egy menüt termékekkel és árakkal.
  2. A felhasználó szám alapján választ terméket.
  3. A program addig kér új terméket, amíg a felhasználó 0-t nem ad meg.
  4. Számolja az összes fizetendő összeget.
  5. 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.")

tanszek/oktatas/muszaki_informatika/python_alapok_ii._feltetelek_ciklusok.1770983395.txt.gz · Last modified: 2026/02/13 11:49 by szabom