Vezérlési szerkezetek - Elágazások

Az elágazások lehetővé teszik, hogy bizonyos feltételek alapján döntéseket hozzunk a program futása során. Vagyis a program futását befolyásolhatjuk különböző feltételek alapján.

Pythonban az elágazásokat if, elif és else kulcsszavak segítségével valósíthatjuk meg.

Egyszerű if állítás

Az if állítás segítségével egy adott feltétel alapján dönthetjük el, hogy melyik kódblokkot hajtsa végre a program.

if feltétel: # kódblokk

Példa:

x = 5 if x > 10: print("x nagyobb 10-nél")

Indentálás

Pythonban az indentálás (angolul: indentation) a kód sorainak behúzását jelenti. A behúzás általában 4 szóközzel vagy 1 tab karakterrel történik.

Az indentálás (behúzás) szintje egy kódblokkot határoz meg. A kódblokk egy olyan kódrészlet, amely egy adott vezérlési szerkezethez (pl. if) tartozik.

Az indentálás célja, hogy a kód olvashatóságát és értelmezhetőségét javítsa.

A Python összehasonlító operátorai

Az összehasonlító operátorok két érték viszonyát vizsgálják és logkai eredményt adnak vissza (True vagy False), lehetővé téve a feltételes elágazásokat a programunkban.

Összehasonlító operátorok

Jelölés Jelentés
== egyenlő
!= nem egyenlő
< kisebb
> nagyobb
<= kisebb vagy egyenlő
>= nagyobb vagy egyenlő

Példa:

x = 10 y = 5 z = 10 print(x == y) # False print(x == z) # True print(x > y) # True print(y < x) # True print(x >= z) # True print(x != y) # True

If-Else állítás

Az if és else együttes használatával két kódblokkot adhatunk meg: egyet, amely akkor fut, ha a feltétel igaz, és egy másikat, amely akkor fut, ha a feltétel hamis.

if feltétel: # kódblokk, ha a feltétel igaz else: # kódblokk, ha a feltétel hamis

Példa:

x = 5 if x > 10: print("x nagyobb 10-nél") else: print("x kisebb vagy egyenlő 10-zel")

Feladatok:

  1. Írj egy programot, amely bekér egy számot a felhasználótól, és kiírja, hogy a szám páros vagy páratlan.
  2. Írj egy programot, amely bekér egy életkort a felhasználótól, és kiírja, hogy a felhasználó jogosult-e szavazni (18 éves vagy idősebb).
  3. Írj egy programot, amely bekér egy hőmérsékletet a felhasználótól, és kiírja, hogy fagyott-e (0°C alatt) vagy sem.

If-Elif-Else állítás

Az elif segítségével több feltételt is megadhatunk. Az elif rövidítése az "else if" kifejezésnek.

if feltétel1: # kódblokk, ha feltétel1 igaz elif feltétel2: # kódblokk, ha feltétel1 hamis és feltétel2 igaz else: # kódblokk, ha minden feltétel hamis

Példa:

x = 5 if x > 10: print("x nagyobb 10-nél") elif x == 5: print("x egyenlő 5-tel") else: print("x kisebb 5-nél")

Feladatok:

  1. Írj egy programot, amely véletlenszerűen generál egy számot 1 és 100 között, és kérje a felhasználótól, hogy találja ki a számot.
  2. Írj egy programot, amely véletlenszerűen generál egy egész számot -10 és 10 között, és írja ki, hogy a szám pozitív, negatív vagy nulla.
  3. Írj egy programot, amely bekér egy hőmérsékletet a felhasználótól (vagy generál egy 0 és 35 közötti egész számot), majd írja ki a következő időjárás jelentést:
  4. Írj egy programot, amely bekér egy jegyet a felhasználótól (1-5) (vagy generál egy 1-5 közötti egész számot), majd osztályozza azt a következőképpen:
  5. Írj egy programot, amely bekér egy életkort a felhasználótól (vagy generál egy 0 és 120 közötti egész számot), és kiírja, hogy a felhasználó:
  6. Írj egy programot, amely bekér egy pontszámot a felhasználótól (vagy generál egy 0 és 100 közötti egész számot), és kiírja, hogy a felhasználó:



Több feltétel egy if állításban

Több feltételt is megadhatunk egy if állításban az and, or és not logikai operátorok segítségével.

if feltétel1 and feltétel2: # kódblokk, ha mindkét feltétel igaz if feltétel1 or feltétel2: # kódblokk, ha legalább az egyik feltétel igaz if not feltétel: # kódblokk, ha a feltétel hamis

Példa:

x = 5 y = 3 if x > 5 and y > 2: print("Mindkét feltétel teljesül")

Logikai operátorok

A logikai operátorok olyan operátorok, amelyek segítségével logikai értékeket (igaz vagy hamis) lehet kombinálni. (Logikai műveleteket tudunk elvégezni vele.)

Logikai operátorok:

Jelölése Jelentése Eredmény
and és igaz eredményt ad, ha mindkét operandus igaz
or vagy igaz eredményt ad, ha legalább az egyik operandus igaz
not nem Megfordítja az operandus logikai értékét

Igazságtáblázat:
A B A and B A or B not A
igaz igaz igaz igaz hamis
igaz hamis hamis igaz hamis
hamis igaz hamis igaz igaz
hamis hamis hamis hamis igaz

Feladatok:

  1. Írj egy programot, amely bekér egy hónapot a felhasználótól, és kiírja, hogy az adott hónapban hány nap van (például: január: 31, február: 28 vagy 29, stb.).
  2. Írj egy programot, amely bekér egy hónapot a felhasználótól, és kiírja, hogy az adott hónapban:
  3. A 8-os feladatot készítsd el úgy, hogy egy if-ben több feltétel szerepeljen!
  4. A 9-os feladatot készítsd el úgy, hogy egy if-ben több feltétel szerepeljen!