Mik azok az "egyéb" és "elif" utasítások?

Befejeződött

Mi a teendő, ha azt is szeretné, hogy a program kódrészletet futtasson a tesztkifejezés használatakor False? Vagy mi a teendő, ha egy másik tesztkifejezést szeretne használni? A Python más kulcsszavakat is használ az összetettebb if utasításokhoz, else és elif. Ha a , elseés elif kombinációt használjaif, összetett programokat írhat több tesztkifejezéssel és utasítással futtatandó módon.

Együttműködés a else

Tudja, hogy egy utasítás használatakor if a program törzse csak akkor fut, ha a tesztkifejezés .True Ha további kódot szeretne hozzáadni, amely a tesztkifejezés Falsehasználatakor fog futni, egy utasítást else kell hozzáadnia.

Alkalmazzunk egy példát az előző szakaszból:

a = 27
b = 93
if a >= b:
    print(a)

Ebben a példában, ha a nem nagyobb vagy egyenlő b, semmi sem történik. Tegyük fel, hogy inkább nyomtatni b szeretne, ha a tesztkifejezés a következő False:

a = 27
b = 93
if a >= b:
    print(a)
else:
    print(b)

Kimeneti: 93

Ha a tesztkifejezés az False, a program kihagyja az utasítás törzsében if lévő kódot, és a program továbbra is fut az else utasításból. Az utasítás szintaxisa if/else mindig a következő:

if test_expression:
    # statement(s) to be run
else:
    # statement(s) to be run

Együttműködés a elif

A Pythonban a kulcsszó elif az egyéb esetekben rövid. Az utasítások használatával elif több tesztkifejezést is hozzáadhat a programhoz. Ezek az utasítások abban a sorrendben futnak, amelyben meg vannak írva, így a program csak akkor ad meg utasítástelif, ha az első if utasítás .False Például:

a = 27
b = 93
if a <= b:
    print("a is less than or equal to b")
elif a == b:
    print("a is equal to b")

Kimeneti: a is less than or equal to b

Ebben a változatban a elif kódblokkban lévő utasítás nem fog futni, mert az utasítás az ifTrue.

Az utasítás szintaxisa if/elif a következő:

if test_expression:
    # statement(s) to be run
elif test_expression:
    # statement(s) to be run

Kombinálás if, elifés else utasítások

A programok összetett feltételes logikával való létrehozásához kombinálhatja ifa , elifés else az utasításokat. Ne feledje, hogy az elif utasítás csak akkor fut, ha a if feltétel .false Azt is vegye figyelembe, hogy egy if blokknak csak egy else blokkja lehet, de több elif blokk is lehet.

Tekintsünk meg egy példát egy if, egy elif és egy utasítással else :

a = 27
b = 93
if a < b:
    print("a is less than b")
elif a > b:
    print("a is greater than b")
else: 
    print ("a is equal to b")    

A három utasítástípust használó kódblokkok szintaxisa a következő:

if test_expression:
    # statement(s) to be run
elif test_expression:
    # statement(s) to be run
elif test_expression:
    # statement(s) to be run
else:
    # statement(s) to be run

Beágyazott feltételes logika működése

A Python támogatja a beágyazott feltételes logikát is, ami azt jelenti, hogy még összetettebb programok létrehozásához beágyazhat ifés elifelse utasításokat hozhat létre. A feltételek beágyazásához behúzhatja a belső feltételeket, és az azonos behúzási szinten lévő összes elem ugyanabban a kódblokkban lesz futtatva:

a = 16
b = 25
c = 27
if a > b:
    if b > c:
        print ("a is greater than b and b is greater than c")
    else: 
        print ("a is greater than b and less than c")
elif a == b:
    print ("a is equal to b")
else:
    print ("a is less than b")

Ez a kód a kimenetet a is less than bhozza létre.

A beágyazott feltételes logika ugyanazokat a szabályokat követi, mint a normál feltételes logika minden kódblokkban. Íme egy példa a szintaxisra:

if test_expression:
    # statement(s) to be run
    if test_expression:
        # statement(s) to be run
    else: 
        # statement(s) to be run
elif test_expression:
    # statement(s) to be run
    if test_expression:
        # statement(s) to be run
    else: 
        # statement(s) to be run
else:
    # statement(s) to be run