Python Feltételes nyilatkozatok: IF…Else, ELIF és Switch Case
⚡ Okos összefoglaló
Python A feltételes utasítások (Feltételes utasítások) irányítják a programfolyamatot azáltal, hogy csak bizonyos kódblokkokat hajtanak végre, ha a logikai kifejezések kiértékelése igaz eredményt ad. Ilyenek például az if, else, elif, a beágyazott if, a ternáris operátor és a strukturális mintaillesztés a tiszta, döntésvezérelt logika érdekében.

Mik tartalmazzák a feltételes nyilatkozatokat Python?
Feltételes nyilatkozatok be Python különböző számításokat vagy műveleteket hajtanak végre attól függően, hogy egy adott logikai kényszer igaznak vagy hamisnak bizonyul-e. Lehetővé teszik a program számára, hogy döntéseket hozzon és különböző útvonalakat kövessen ahelyett, hogy minden sort sorban lefuttatna. Python, a feltételes utasításokat a if utasítás és társai: else, elif és beágyazott if.
Mi a Python Ha Nyilatkozat?
Az Python ha nyilatkozat döntéshozatali műveletekhez használják. Egy olyan kódrészletet tartalmaz, amely csak akkor fut le, ha az if utasításban megadott feltétel igaz. Ha a feltétel hamis, akkor az opcionális else utasítás fut le, amely az else feltétel kódját tartalmazza. Ha egy feltétel alapján szeretnél cselekedni, miközben egy másik nem igaz, akkor a Python ha-más kijelentés.
Python if utasítás szintaxis:
if expression:
statement
else:
statement
Python ha…egyéb Folyamatábra
A fenti folyamatábra azt mutatja be, hogyan zajlik a vezérlés egy if-else utasításon keresztül. Nézzünk egy példát a következőre: Python if-else utasítás működés közben:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code 3 vonal: Két változót definiálunk: x, y = 2, 8.
- Code 4 vonal: Az if utasítás az x < y feltételt ellenőrzi, ami a következő: Igaz ebben az esetben.
- Code 5 vonal: Az st változó értéke „x kisebb, mint y”.
- Code 6 vonal: A print(st) sor kimenete az st értéke, ami a következő: „x kisebb, mint y”.
Mi történik, ha a „ha” feltétel nem teljesül?
Az előző példára építve nézzük meg, mi történik, ha a feltétel teljesül: Python nem teljesül. Amikor a feltétel hamis, és nincs más ág, a behúzott kód teljesen kimarad.
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code 3 vonal: Két változót definiálunk: x, y = 8, 4.
- Code 4 vonal: Az if utasítás az x < y feltételt ellenőrzi, ami a következő: Hamis ebben az esetben.
- Code 5 vonal: Az st változó a következő: NEM állítsa „x kisebb, mint y”.
- Code 6 vonal: A print(st) sor egy soha nem deklarált változó kinyomtatására törekszik, tehát Python felveti a NameError.
Hogyan használjuk az „else” feltételt
A fenti hiba elkerülése érdekében hozzáadhatsz egy „else” feltételt. Az „else” feltételt akkor használjuk, ha egy állítást egy másik alapján kell megítélnünk. Ha az egyik feltétel hamis, az „else” blokk egy alternatív utat biztosít, így a program továbbra is eredményt produkál.
Példa:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code 3 vonal: Két változót definiálunk: x, y = 8, 4.
- Code 4 vonal: Az if utasítás az x < y feltételt ellenőrzi, ami a következő: Hamis ebben az esetben.
- Code 6 vonal: A programvezérlés folyamata az „else” feltételhez kapcsolódik.
- Code 7 vonal: Az st változót „x is” értékre állítjuk. nagyobb mint y.”
- Code 8 vonal: A print(st) sor kimenete az st értéke, ami a következő: „x nagyobb, mint y”.
Amikor az „egyébként” feltétel nem működik
Az „else” feltétel nem mindig adja a kívánt eredményt. Hibás kimenetet adhat, ha hiba van a programlogikában. Ez általában akkor fordul elő, ha egy programban kettőnél több utasítást vagy feltételt kell igazolni. Egy példa segít megérteni ezt a koncepciót.
Itt mindkét változó ugyanaz (8, 8), mégis a program kimenete „x nagyobb, mint y” amely ROSSZEz azért történik, mert a program ellenőrzi az első feltételt (az „ha” feltételt), és ha az nem sikerül, akkor a második feltételt (az „else” feltételt) írja ki alapértelmezettként. A következő lépésben megnézzük, hogyan javíthatjuk ki ezt a hibát.
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
Az „elif” feltétel használata
Az else feltétel által elkövetett korábbi hiba kijavításához használhatjuk a következőt: elif utasítás. Az elif feltétel használatával azt mondod a programnak, hogy teszteljen egy harmadik lehetőséget, amikor az első feltétel hamis. Több elif feltételt láncba köthetsz a kódodban a negyedik, ötödik és további lehetőségek ellenőrzéséhez.
Példa:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code 3 vonal: Két változót definiálunk: x, y = 8, 8.
- Code 4 vonal: Az if utasítás az x < y feltételt ellenőrzi, ami a következő: Hamis ebben az esetben.
- Code 6 vonal: A programvezérlés folyamata az elif feltételhez vezet. Ellenőrzi, hogy x == y, ami igaz-e.
- Code 7 vonal: Az st változót „x is” értékre állítjuk. ugyanaz, mint a y.”
- Code 10 vonal: A program kilép az if utasításból (nem éri el az else utasítást) és kinyomtatja az st értéket. A kimenet „x megegyezik az y-nal”, ami helyes.
Hogyan hajtsunk végre egy feltételes utasítást minimális értékkel? Code
Most, hogy teljes if-elif-else blokkokat írhatsz, Python lehetővé teszi egy egyszerű feltétel egyetlen sorba sűrítését. Ahelyett, hogy minden ághoz külön kódot írna, használhat egy ternáris (feltételes) kifejezés.
Syntax:
value_if_true if condition else value_if_false
Példa:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code 2 vonal: Két változót definiálunk: x, y = 10, 8.
- Code 3 vonal: Az st változó értéke „x kisebb, mint y” lesz, ha x < y; egyébként „x nagyobb vagy egyenlő, mint y” lesz. Mivel x > y itt, az st lesz a második érték.
- Code 4 vonal: Kiírja az st értékét és a helyes kimenetet adja.
Python Beágyazott if nyilatkozat
Egy beágyazott if utasítás egy if utasítást helyez el egy másikban, ami akkor hasznos, ha egy döntés egy második feltételtől függ. A következő példa egy beágyazott if utasítást mutat be a következőben: Python amely kiszámítja a hajótping az ár az országtól és a rendelés összegétől függ.
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
Töröld a fenti kód 2. sorának kommentjét, kommenteld ki a 3. sort, és futtasd újra a kódot, hogy lásd, hogyan változik a kimenet egy másik ország esetén.
Kapcsolja be az esetkimutatást Python
Mi az a Switch utasítás?
A switch utasítás egy többutas elágazási utasítás, amely összehasonlítja egy változó értékét a case utasításokban megadott értékekkel. Sok éven át a Python a nyelvben nem volt switch utasítás, így a fejlesztők ugyanazt a viselkedést valósították meg a következővel: Python szótár térképping.
Példa szótártérkép használatávalping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
Kis- és nagybetűváltás egyezéssel (Python 3.10 és Later)
Óta Python 3.10 (megjelent 2021 októberében), Python anyanyelvi szintű gyufatartó utasítás, más néven strukturális mintaillesztés. Tiszta, olvasható alternatívát kínál a hosszú elif láncokkal és a fent bemutatott szótáras megközelítéssel szemben.
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
Az aláhúzásjel (_) az alapértelmezett esetként működik, és minden olyan értékkel egyezik, amelyet a korábbi esetek nem kezeltek, akárcsak a hagyományos switch utasítás alapértelmezett értéke.
if vs elif vs else: Gyors összehasonlítás
Használd ezt az összehasonlítást annak eldöntésére, hogy melyik feltételes szerkezet illik a döntéshozatali logikádhoz.
| nyilatkozat | Cél | Mikor kell használni? |
|---|---|---|
| if | Futtat egy blokkot, ha egy feltétel igaz | Egyetlen igen/nem döntés |
| ha…különben | Tartalék megoldást kínál, ha a feltétel hamis. | Két egymást kizáró eredmény |
| elif | További feltételeket tesztel sorban | Három vagy több lehetőség |
| Beágyazott, ha | Egy if-t egy másik if-be helyez | Egy döntés, amely egy második feltételtől függ |
| Hármas | Az if-else utasításokat egyetlen sorba sűríti | Egyszerű értékadás |
| gyufatartó | Egy értéket több mintával hasonlít össze | Többutas elágazás (Python 3.10 +) |







