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:
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)
print(x == z)
print(x > y)
print(y < x)
print(x >= z)
print(x != y)
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:
else:
Példa:
x = 5
if x > 10:
print("x nagyobb 10-nél")
else:
print("x kisebb vagy egyenlő 10-zel")
Feladatok:
- Í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.
- Í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).
- Í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:
elif feltétel2:
else:
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:
- Í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.
- Ha a felhasználó által megadott szám kisebb, mint a véletlenszerűen generált szám, akkor írja ki, hogy "nagyobb számot kell találnia".
- Ha a felhasználó által megadott szám nagyobb, mint a véletlenszerűen generált szám, akkor írja ki, hogy "kisebb számot kell találnia".
- Ha a megadott szám egyenlő a generált számmal, írja ki, hogy "Eltaláltad!"
- Í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.
- Í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:
- Ha a hőmérséklet 0°C alatt van, akkor írja ki: "Hideg van"
- Ha a hőmérséklet 0°C és 25°C között van, akkor írja ki: "Meleg van"
- Ha a hőmérséklet 25°C felett van, akkor írja ki: "Forró van"
- Ha generált számot használtunk, akkor azt is írja ki a program. "A generált szám a(z) .... volt." formában.
- Í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:
- Ha a jegy 1-es, akkor írja ki: "Elégtelen"
- Ha a jegy 2-es, akkor írja ki: "Elégséges"
- Ha a jegy 3-as, akkor írja ki: "Közepes"
- Ha a jegy 4-es, akkor írja ki: "Jó"
- Ha a jegy 5-ös, akkor írja ki: "Kiváló"
- Ha a program generálta a jegyet, akkor azt is írja ki a következő formában: "A generált érdemjegy: ...."
- Í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ó:
- Gyermek (0-12 éves)
- Serdülő (13-19 éves)
- Felnőtt (20-64 éves)
- Idős (65 éves vagy idősebb)
- Ha a program generálta az életkort, akkor azt is írja ki a következő formában: "A generált életkor: ... volt."
- Í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ó:
- Elégtelen (0-49 pont)
- Elégséges (50-69 pont)
- Közepes (70-84 pont)
- Jó (85-94 pont)
- Kiváló (95-100 pont)
- Ha a program generálta a pontszámot, akkor azt is írja ki a következő formában: "A program megoldásához használt szám: ..."
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:
if feltétel1 or feltétel2:
if not feltétel:
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:
- Í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.).
- 31 napos hónapok: január, március, május, július, augusztus, október, december. = Ez 7 hónap.
- 30 napos hónapok: április, június, szeptember, november. = Ez 4 hónap.
- Február, amely általában 28 napos, de szökőévben 29 napos.
- Írj egy programot, amely bekér egy hónapot a felhasználótól, és kiírja, hogy az adott hónapban:
- Tél van (december, január, február)
- Tavasz van (március, április, május)
- Nyár van (június, július, augusztus)
- Ősz van (szeptember, október, november)
- A 8-os feladatot készítsd el úgy, hogy egy if-ben több feltétel szerepeljen!
- A 9-os feladatot készítsd el úgy, hogy egy if-ben több feltétel szerepeljen!