User Tools

Site Tools


tanszek:oktatas:muszaki_informatika:python_alapok_ii._feltetelek_ciklusok

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:

  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.

<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:

  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).

<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>

tanszek/oktatas/muszaki_informatika/python_alapok_ii._feltetelek_ciklusok.txt · Last modified: 2026/02/17 08:14 by szabom