1. Feltételek és a „HA” (if) kulcsszó

A Python támogatja a matematikában megszokott logikai feltételeket:

  • Egyenlő: a == b
  • Nem egyenlő: a! = B
  • Kevesebb, mint: a <b
  • Kevesebb vagy egyenlő: a <= b
  • Nagyobb, mint: a> b
  • Nagyobb vagy egyenlő: a> = b
  • Ezeket a feltételeket többféle módon, többféle kombinációban lehet használni, leggyakrabban a döntéshozatal és a ciklusok esetében.

    Az első egyszerű példa a döntéshozatalra bekér két numerikus értéket, és összehasonlítja azokat:

    a = input("az első szám: ")
    b = input("a második szám: ")
    if b >a:
      print("a második szám nagyobb mint az első")
    

    A példában két változót használunk (a,b) amiket az input paranccsal „töltünk fel” értékkel. Az ifb > a feltétel igaz értéke esetén végrehajtódik a print parancs, ami a terminál ablakba írja az összehasonlítás eredményét.

    A programnak ez a verziója nem reagál az összehasonlítás hamis értékére, illetve csak egyszer hajtódik végre. Fontos szintaktikai szabály, hogy az if…. összehasonlítás sorát „:” zárja, valamint az, hogy az utána következő, az összehasonlítás igaz értéke esetén végrehajtódó sorok behúzással, tabulátorral íródjanak! A program alábbi beírása esetén:

    a = input("az első szám: ")
    b = input("a második szám: ")
    if b >a:
    print("a második szám nagyobb mint az első")
    

    hibaüzenetet kapunk. Ez a behúzás elhagyására utal!

    2. Az „ELIF” kulcsszó

    Az elif kulcsszó a pythonban kb. azt jelenti: “Ha a korábbi feltételek nem voltak igazak, akkor próbáld ki ezt a feltételt”.

    Nézzük meg az előbbi programot ezzel a bővítéssel:

    a = input("az első szám: ")
    b = input("a második szám: ")
    if b >a:
        print("a második szám nagyobb mint az első")
    elif a==b:
    print("a két szám egyenlő")
    

    Ez a programváltozat már két esetet tud levizsgálni:ha a második szám a nagyobb, illetve, ha a két szám egyenlő.

    Az összes lehetőséget az alábbi megoldással értékelhetjük ki:

    a = input("az első szám: ")
    b = input("a második szám: ")
    if b >a:
        print("a második szám nagyobb mint az első")
    elif a==b:
    print("a két szám egyenlő")
    elifa > b:
        print("az első szám  nagyobb mint a második")
    

    A fenti megoldást adja az „else” parancs használata is:

    3. Az „ELSE” kulcsszó

    Az alapvető különbség, hogy míg az „elif” kulcsszóval konkrét leválogatást tettünk meg, az „else” bármi egyéb értékre ugyan azt a választ adja. Ez ebben az esetben azonos mint az előbbi példában, hiszen csak három lehetőség van.

    a = input("az első szám: ")
    b = input("a második szám: ")
    if b >a:
        print("a második szám nagyobb mint az első")
    elif a==b:
    print("a két szám egyenlő")
    else:
        print("az első szám  nagyobb mint a második")
    

    Ha csak egy végrehajtandó utasítás van, akkor ugyanabba a sorba is írhatjuk, mint az if utasítást.

    if a > b: print("a nagyobb mint b")
    

    4. Egymásba ágyazott döntéshozatal (nested if)

    Adott esetben (pl. leválogatás) szükség lehet arra, hogy több „if” kulcsszót ágyazzunk egymásba. Egy egyszerű példa:

    x = int(input("írj be egy számot: "))
    if x > 10:
      print("A szám nagyobb mint 10!")
    if x > 20:
        print("A szám nagyobb mint 20!")
    else:
        print("A szám nem nagyobb mint 20!")
    else:
        print("A szám kisebb mint 10!")
    

    5. Kombinált döntéshozatal

    Bizonyos esetekben szükségünk lehet a leválogatásokat bizonyos értékhatárokhoz kötni, pl. ponthatárok és osztályzatok esetén. Könnyítsük meg a dolgozatokat javító és pontozó tanár dolgát egy olyan egyszerű kis algoritmussal, ami kiszámolja az adott pontszámhoz tartozó érdemjegyet!

    A ponthatárok legyenek: – 20: elégtelen, 21 – 30: elégséges, 31 – 50: közepes, 51 – 80: jó, 81 – 100: jeles.

    x = int(input("írd be a pontszámot: "))
    ifx > 80:
    print("jeles")
    if x > 50 and x <80:
    print("jó")
    if x > 30 and x <50:
    print("közepes")
    if x > 20 and x <30:
    print("elégséges")
    elif x < 20:
    print("elégtelen")
    

    A fenti példaprogramot érdemes kombinálni egy ciklussal, hogy ne kelljen minden egyes érték megadása utána újra futtatni az alkalmazást. Erre szolgál a python „While” illetve „For” parancsa!

    A forráskódok letölthetőek: