Python Tingimuslikud avaldused: IF…Else, ELIF & Switch Case

⚡ Nutikas kokkuvõte

Python Tingimuslaused suunavad programmi voogu, käivitades teatud koodiplokke ainult siis, kui Boole'i ​​avaldised hindavad väärtuseks tõene. Nende hulka kuuluvad if, else, elif, pesastatud if, kolmekomponentne operaator ja struktuuriline mustrite sobitamine puhta ja otsustuspõhise loogika saavutamiseks.

  • Põhikontseptsioon: Kui-lause käivitab oma taandatud ploki ainult siis, kui tingimus annab tulemuseks tõese väärtuse, moodustades otsustusprotsessi aluse. Python.
  • Käepideme alternatiivid: Lisa „else” varuvariandi jaoks ja „elif”, et testida järjestikuseid tingimusi ilma sügava pesastamiseta.
  • Vältige loogikavigasid: Kasutage ühte if-elif-else ahelat sõltumatute if-lausete asemel, kui peaks kehtima täpselt üks tulemus.
  • Kirjutage lühidalt Code: Väärtuse määramiseks ühel loetaval real rakendage kolmikavaldist value_if_true , muidu tingimust value_if_false.
  • Kaasaegne hargnemine: Asenda pikad elif-ahelad sõnastikukaardigaping või vaste-juhtumi lause, mis on sisse toodud artiklis Python 3.10 puhtama mitmekanalilise valiku jaoks.

Python Tingimuslikud avaldused

Milles sisalduvad tingimuslikud avaldused Python?

Tingimuslikud avaldused sisse Python sooritavad erinevaid arvutusi või toiminguid olenevalt sellest, kas konkreetne Boole'i ​​piirang annab tulemuseks tõese või väära väärtuse. Need lasevad programmil teha otsuseid ja järgida erinevaid teid, selle asemel et iga rida järjest käivitada. Python, tingimuslauseid käsitleb if lause ja selle kaaslased: else, elif ja pesastatud if.

Mis on Python Kui avaldus?

. Python kui avaldus kasutatakse otsustusoperatsioonide jaoks. See sisaldab koodi, mis käivitub ainult siis, kui if-lauses antud tingimus on tõene. Kui tingimus on väär, käivitub selle asemel valikuline else-lause, mis sisaldab else-tingimuse koodi. Kui soovite tegutseda ühe tingimuse korral, kui teine ​​​​ei ole tõene, kasutate Python kui-muidu avaldus.

Python kui lause süntaks:

if expression:
    statement
else:
    statement

Python kui...muidu Vooskeem

Python kui…muidu vooskeem, mis näitab tõeseid ja vääraid harusid

Ülaltoodud vooskeem näitab, kuidas juhtimine toimib if-else lause kaudu. Vaatame näidet Python if-else lause tegevuses:

Python if-lause näidisväljund redaktoris

# 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 Rida 3: Defineerime kaks muutujat x, y = 2, 8.
  • Code Rida 4: if-lause kontrollib tingimust x < y, mis on Tõsi sel juhul.
  • Code Rida 5: Muutuja st väärtuseks seatakse „x on väiksem kui y“.
  • Code Rida 6: Rida print(st) väljastab st väärtuse, mis on „x on väiksem kui y”.

Mis juhtub, kui „kui” tingimus ei ole täidetud

Eelmisele näitele tuginedes vaatame, mis juhtub, kui if-tingimus on täidetud Python ei ole täidetud. Kui tingimus on väär ja muud haru pole olemas, jäetakse taandatud kood täielikult vahele.

Python viga, kui tingimus „if” ei ole täidetud

# 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 Rida 3: Defineerime kaks muutujat x, y = 8, 4.
  • Code Rida 4: if-lause kontrollib tingimust x < y, mis on Vale sel juhul.
  • Code Rida 5: Muutuja st on EI seatud väärtusele "x on väiksem kui y".
  • Code Rida 6: Rida print(st) püüab välja printida muutujat, mida pole kunagi deklareeritud, seega Python tõstab NameError.
⚠ Hoiatus: Muutujale viitamine, mis on määratud ainult if-ploki sees, on algajate seas tavaline viga. Enne if-lauset lisage kas else haru või andke muutujale vaikeväärtus.

Kuidas kasutada tingimust "muul juhul"

Ülaltoodud vea vältimiseks võite lisada tingimuse „else“. Tingimust „else“ kasutatakse siis, kui peate ühe lause teise põhjal hindama. Kui üks tingimus on väär, pakub „else“ plokk alternatiivse tee, nii et programm annab ikkagi tulemuse.

Näide:

Python if-else tingimuse näide

# 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 Rida 3: Defineerime kaks muutujat x, y = 8, 4.
  • Code Rida 4: if-lause kontrollib tingimust x < y, mis on Vale sel juhul.
  • Code Rida 6: Programmi juhtimise voog liigub edasi tingimuseni „else“.
  • Code Rida 7: Muutuja st väärtuseks seatakse „x on suurem kui y."
  • Code Rida 8: Rida print(st) väljastab st väärtuse, mis on „x on suurem kui y”.

Kui „muul juhul“ tingimus ei toimi

Tingimus „else“ ei anna alati soovitud tulemust. See võib anda vale väljundi, kui programmi loogikas on viga. Tavaliselt juhtub see siis, kui peate programmis põhjendama rohkem kui kahte lauset või tingimust. Näide aitab teil seda kontseptsiooni mõista.

Siin on mõlemad muutujad samad (8, 8), kuid programmi väljund on "x on suurem kui y" mis on VALESee juhtub seetõttu, et programm kontrollib esimest tingimust (kui-tingimust) ja kui see ebaõnnestub, prindib see vaiketingimusena teise tingimuse (else-tingimuse). Järgmises etapis vaatame, kuidas seda viga parandada.

Python muul juhul annab vale tulemuse

# 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()

Kuidas kasutada tingimust „elif”

Eelmise vea parandamiseks, mille tegi else tingimus, saame kasutada elif lause. Elif-tingimuse abil annate programmile käsu testida kolmandat võimalust, kui esimene tingimus on väär. Saate aheldada mitu elif-tingimust, et kontrollida oma koodis neljandat, viiendat ja edasisi võimalusi.

Näide:

Python elif-tingimuse näide

# 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 Rida 3: Defineerime kaks muutujat x, y = 8, 8.
  • Code Rida 4: if-lause kontrollib tingimust x < y, mis on Vale sel juhul.
  • Code Rida 6: Programmi juhtimise voog liigub elif-tingimuseni. See kontrollib, kas x == y, mis on tõene.
  • Code Rida 7: Muutuja st väärtuseks seatakse „x on sama y.”
  • Code Rida 10: Programmi juhtimine väljub if-lausest (see ei jõua else-lauseni) ja väljastab st. Väljund on „x on sama mis y”, mis on õige.

Kuidas täita tingimuslikku avaldust minimaalse väärtusega Code

Nüüd, kui saate kirjutada täielikke if-elif-else plokke, Python võimaldab teil lihtsa tingimuse ühele reale kokku võtta. Iga haru jaoks eraldi koodi kirjutamise asemel saate kasutada ternaarne (tingimuslik) avaldis.

süntaksit:

value_if_true if condition else value_if_false

Näide:

Python Üherealise kolmekomponentse tingimuslause näide

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 Rida 2: Defineerime kaks muutujat x, y = 10, 8.
  • Code Rida 3: Muutuja st väärtuseks määratakse „x on väiksem kui y“, kui x < y; vastasel juhul saab sellest „x on suurem või võrdne y-ga“. Kuna x > y, saab st teiseks väärtuseks.
  • Code Rida 4: Väljastab st väärtuse ja annab õige väljundi.

Python Pesastatud, kui avaldus

Pesastatud if-lause paigutab ühe if-lause teise sisse, mis on kasulik, kui otsus sõltub teisest tingimusest. Järgnev näide demonstreerib pesastatud if-lauset Python mis arvutab laevaping Hind põhineb riigil ja tellimuse kogusummal.

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")

Eemalda ülaltoodud koodi 2. rea kommentaar, kommenteeri 3. rida välja ja käivita kood uuesti, et näha, kuidas väljund teise riigi puhul muutub.

Lülitage juhtumi avaldus sisse Python

Mis on lülituslause?

Lülituselause on mitmesuunaline hargnemislause, mis võrdleb muutuja väärtust case-lausetes määratud väärtustega. Aastaid on Python keelel polnud lülituslauset, seega rakendasid arendajad sama käitumist ka Python sõnaraamat kaartping.

Näide sõnastikukaardi kasutamisestping:

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))

Suuruse vahetamine vastega (Python 3.10 ja Later)

Alates Python 3.10 (ilmus oktoobris 2021), Python pakub emakeelt tikuümbris lause, mida tuntakse struktuurilise mustri sobitamisena. See pakub selget ja loetavat alternatiivi pikkadele elif-ahelatele ja eespool näidatud sõnastikupõhisele lähenemisviisile.

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))

Alakriips (_) toimib vaikimisi juhtumina, sobitades kõik väärtused, mida varasemad juhud ei käsitle, täpselt nagu traditsioonilise lülituslause vaikeväärtus.

✅ Näpunäide: Kasutage tikutulede ümbrist, kui olete peal Python 3.10 või uuem. Vanemate versioonide puhul sõnastikukaartping jääb standardseks viisiks lülituslause emuleerimiseks.

if vs elif vs else: kiire võrdlus

Kasuta seda võrdlust, et otsustada, milline tingimuslik struktuur sobib sinu otsustusloogikaga.

väljavõteEesmärkMillal kasutada
ifKäivitab ploki, kui tingimus on tõeneÜks jah/ei otsus
kui…muiduPakub varuvarianti, kui tingimus on väärKaks teineteist välistavat tulemust
elifTestib järjest lisatingimusiKolm või enam võimalust
Pesastatud, kuiAsetab if-i teise if-i sisseOtsus, mis sõltub teisest tingimusest
KolmepoolneTihendab if-else'i ühele realeLihtne väärtuse määramine
tikuümbrisVastab väärtusele paljude mustrite suhtesMitmesuunaline hargnemine (Python 3.10+)
⚠ Märkus: Python 2 jõudis eluea lõppu 1. jaanuaril 2020 ja kõik selle artikli näited kasutavad Python 3 süntaks. Sisse Python 2, print oli pigem lause (näiteks print st) kui funktsioon, seega ülaltoodud kood ei tööta muutmata kujul Python 2.

KKK

if-lause alustab otsustusprotsessi ja seda hinnatakse alati. Elif-lauset (else-if) kontrollitakse ainult siis, kui eelnevad if- või elif-tingimused on väärad, mis võimaldab teil testida mitut võimalust ühes ahelas, samal ajal kui täpselt üks plokk töötab.

Jah. Alates Python 3.10 pakub match-case lause struktuuriliste mustrite sobitamise kaudu natiivset switch-stiilis hargnemist. Vanemates versioonides emuleerivad arendajad switch-i sõnastikukaardi abil.ping meetodi get() abil, et anda vaikimisi väärtus.

Kasutage kolmikavaldist: väärtus_kui_tõene if tingimus, muul juhul väärtus_kui_väär. Näiteks st = „madal“, kui x < 10, muul juhul „kõrge“, määrab väärtuse ühel loetaval real ilma täieliku if-else plokita.

Jah. Tehisintellekti abilised saavad genereerida, selgitada ja siluda if-elif-else loogikat tavalise keele käsurealt. Need on õppimiseks abiks, kuid peaksite siiski väljundit üle vaatama, et veenduda tingimuste ja taande vastavuses kavandatud loogikaga.

Jah. Tingimuslik loogika on tehisintellekti jaoks ülioluline. Otsustuspuud, reeglipõhised süsteemid ja andmete eeltöötluskanalid tuginevad kõik if-else hargnemisele toimingute valimiseks, andmete filtreerimiseks ja mudeli erinevate sisendite käsitlemise juhtimiseks.

Võta see postitus kokku järgmiselt: