Mik azok az "egyéb" és "elif" utasítások?
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 False
haszná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 if
True
.
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 if
a , 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 elif
else
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 b
hozza 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