Skilyrt ef yfirlýsing í Python. Setningafræði, else/elif blokkir, dæmi

Í því ferli að læra að forrita er oft nauðsynlegt að búa til forrit sem ekki er svo auðvelt að nota í raunveruleikanum. Eftir allt saman, af og til þarftu að fylgja leiðbeiningunum aðeins við ákveðnar aðstæður. Til að geta innleitt þetta í forritinu hafa öll tungumál stjórnunaryfirlýsingar. Með hjálp þeirra geturðu stjórnað flæði kóða keyrslu, búið til lykkjur eða framkvæmt ákveðnar aðgerðir aðeins þegar ákveðið ástand er satt.

Í dag munum við tala um ef yfirlýsinguna, sem athugar núverandi ástand fyrir tiltekið ástand, og byggir á þessum upplýsingum, tekur ákvarðanir um frekari aðgerðir.

Tegundir eftirlitsyfirlýsinga

Almennt séð, ef er ekki eina yfirlýsingin sem stjórnar flæði forrits. Eins vel og hann sjálfur getur verið hluti af stærri keðju rekstraraðila.

Það eru líka lykkjur og staðhæfingar sem stjórna ferlinu við framkvæmd þess. Í dag munum við aðeins tala um skilyrtan rekstraraðila og keðjurnar sem hann getur tekið þátt í.

Í forritun er til eitthvað sem heitir greiningar. Það er einmitt þetta sem þýðir röð skipana sem er aðeins framkvæmd ef ákveðið skilyrði er satt. Viðmiðin sjálf geta verið önnur:

  1. Jafnleiki breytu við ákveðið gildi.
  2. Að framkvæma ákveðna aðgerð.
  3. Umsóknarástand (hrunið eða ekki).

Litrófið getur verið miklu stærra. Skilyrt yfirlýsingar eru af nokkrum gerðum:

  1. Með einni grein. Það er að segja að ein athugun er framkvæmd, sem leiðir til þess að ákveðnar aðgerðir eru gerðar.
  2. Með tveimur eða fleiri greinum. Ef viðmiðun 1 er sönn, athugaðu þá viðmiðun 2. Ef hún er sönn, athugaðu þá 3. Og svo skaltu framkvæma eins margar athuganir og krafist er.
  3. Með nokkrum skilyrðum. Hér er allt einfalt. Túlkurinn athugar hvort það séu mörg skilyrði eða eitt þeirra.

ef yfirlýsing

Uppbygging if-setningarinnar er svipuð á öllum tungumálum. Hins vegar, í Python, er setningafræði þess nokkuð frábrugðin öllum hinum:

ef ástand:

    <входящее выражение 1>

    <входящее выражение 2>

<не входящее выражение>

Í fyrsta lagi er rekstraraðilinn sjálfur lýst yfir, eftir það er ástandið sem það byrjar að vinna undir skrifað. Skilyrðið getur verið annað hvort satt eða ósatt.

Þessu fylgir blokk með skipunum. Ef það fylgir strax viðmiðun sem á að uppfylla, þá er samsvarandi röð skipana kölluð ef blokk. Þú getur notað hvaða fjölda skipana sem er í því.

Attention! Inndrátturinn í öllum if-blokk skipunum verður að vera af sömu stærð. Kubbamörkin eru ákvörðuð af inndráttum. 

Samkvæmt málgögnum er inndrátturinn 4 bil. 

Hvernig virkar þessi rekstraraðili? Þegar túlkurinn sér ef orðið, athugar hann tjáninguna samstundis gegn notandatilgreindum forsendum. Ef þetta er raunin, þá fer hann að leita að leiðbeiningum og fylgja þeim. Annars er öllum skipunum úr þessum blokk sleppt.

Ef staðhæfing á eftir skilyrðinu er ekki inndregin er hún ekki meðhöndluð sem ef blokk. Í okkar aðstæðum er þessi lína . Þess vegna, óháð niðurstöðu athugunarinnar, verður þessi lína framkvæmd.

Hér er kóðabútur fyrir dæmi um hvernig þessi rekstraraðili virkar.

tala = int(inntak(“Sláðu inn tölu:“))

ef tala > 10:

    print(“Talan er stærri en 10”)

Þetta forrit biður notandann um númer og athugar hvort það sé stærra en 10. Ef svo er skilar það viðeigandi upplýsingum. Til dæmis, ef notandinn slær inn töluna 5, þá mun forritið einfaldlega enda, og það er það.

En ef þú tilgreinir töluna 100, þá mun túlkurinn skilja að það er meira en tíu og tilkynna það.

Attention! Í okkar tilviki, ef skilyrðið er rangt, hættir forritið, vegna þess að engar skipanir eru gefnar eftir leiðbeiningarnar.

Það er aðeins ein skipun í kóðanum hér að ofan. En þeir eru miklu fleiri. Eina krafan er að draga inn.

Nú skulum við greina þessa röð skipana.

tala = int(inntak(“Skrifaðu tölu: “))

ef tala > 10:

    print ("fyrsta lína")

    print(„önnur lína“)

    print ("þriðja lína")

print(„Línan sem er keyrð, óháð númerinu sem slegið er inn“)

print ("Ljúka umsókn")

Reyndu að giska á hver framleiðslan verður ef þú slærð inn gildin 2, 5, 10, 15, 50.

Eins og þú sérð, ef númerið sem notandinn hefur slegið inn er meira en tíu, þá eru þrjár línur birtar + ein með textanum „Hlaupa í hvert sinn …“ og einni „End“ og ef færri en tíu, þá aðeins ein, með öðruvísi texti. Aðeins línur 3,4,5 verða framkvæmdar ef satt er. Hins vegar verða síðustu tvær línurnar skrifaðar sama hvaða númer notandinn tilgreinir.

Ef þú notar yfirlýsingarnar beint í stjórnborðinu verður niðurstaðan önnur. Túlkurinn kveikir strax á fjöllínuhamnum ef ýtt er á Enter eftir að hafa tilgreint sannprófunarviðmiðið.

Segjum að við höfum skrifað eftirfarandi röð skipana.

>>>

>>> n = 100

>>> ef n > 10:

...

Eftir það munum við sjá að >>> hefur verið skipt út fyrir sporbaug. Þetta þýðir að marglína inntakshamur er virkur. Í einföldum orðum, ef þú ýtir á Enter, verðurðu fluttur yfir í inntak annars stigs kennslunnar. 

Og til þess að fara út úr þessari blokk þarftu að bæta einni byggingu í viðbót við blokkina if.

>>>

>>> n = 100

>>> ef n > 10:

… print(«nv 10»)

...

Ef skilyrðið er ekki satt lýkur forritinu. Þetta er vandamál þar sem notandinn gæti litið svo á að slíkt forrit hafi lokað vegna bilunar. Þess vegna er nauðsynlegt að gefa endurgjöf til notandans. Til þess er hlekkur notaður ef annað.

tjáningaraðila ef annað

Þessi stjórnandi gerir þér kleift að útfæra tengil: ef tjáningin passar við ákveðna reglu skaltu framkvæma þessar aðgerðir og ef ekki, þá aðrar. Það er, það gerir þér kleift að skipta flæði forritsins í tvo vegi. Setningafræðin er leiðandi:

ef ástand:

    # ef blokk

    yfirlýsing 1

    yfirlýsing 2

    og svo framvegis

Annar:

    # annað blokk

    yfirlýsing 3

    yfirlýsing 4

    og svo framvegis:

Við skulum útskýra hvernig þessi rekstraraðili virkar. Fyrst er staðlaða setningin keyrð í þræðinum jamm, athuga hvort það passi ástand "satt eða ósatt". Frekari aðgerðir ráðast af niðurstöðum athugunarinnar. Ef satt er fyrirmælin sem er í röð leiðbeininga á eftir skilyrðinu keyrð beint. jamm, ef það er rangt, þá annars

Þannig er hægt að höndla villur. Til dæmis þarf notandinn að slá inn radíus. Augljóslega getur það aðeins verið tala með plúsmerki, eða það er núllgildi. Ef það er minna en 0, þá þarftu að gefa út skilaboð sem biðja þig um að slá inn jákvæða tölu. 

Hér er kóðinn sem útfærir þetta verkefni. En hér er ein mistök. Reyndu að giska á hvern. 

radíus = int(inntak(“Sláðu inn radíus: “))

ef radíus >= 0:

    print(“Ummál = “, 2 * 3.14 * radíus)

    print(“Afla = “, 3.14 * radíus ** 2)

    Annar:

        print(„Vinsamlegast sláðu inn jákvæða tölu“)

Villa við inndrátt. Ef og annað verður að vera staðsett án þeirra eða með sama fjölda þeirra (fer eftir því hvort þau eru hreiður eða ekki).

Við skulum gefa annað notkunartilvik (þar sem allt verður rétt með röðun rekstraraðila) - forritaþáttur sem athugar lykilorð.

lykilorð = input(“Sláðu inn lykilorð:“)

ef lykilorð == «sshh»:

    print(„Velkomin“)

Annar:

    print(„Aðgangi hafnað“)

Þessi leiðbeining sleppir viðkomandi frekar ef lykilorðið er sshh. Ef einhver önnur samsetning bókstafa og tölustafa sýnir skilaboðin „Aðgangi hafnað“.

staðhæfing-tjáning ef-elif-annað

Aðeins ef nokkur skilyrði eru ekki sönn er setningin sem er í reitnum keyrð. annars. Þessi tjáning virkar svona.

ef ástand_1:

    # ef blokk

    yfirlýsingu

    yfirlýsingu

    meiri yfirlýsingu

elif ástand_2:

    # fyrsta elif blokk

    yfirlýsingu

    yfirlýsingu

    meiri yfirlýsingu

elif ástand_3:

    # önnur elif blokk

    yfirlýsingu

    yfirlýsingu

    meiri yfirlýsingu

...

annars

    yfirlýsingu

    yfirlýsingu

    meiri yfirlýsingu

Þú getur tilgreint hvaða fjölda viðbótarskilyrða sem er.

Hreiður yfirlýsingar

Önnur leið til að innleiða mörg skilyrði er að setja inn viðbótar ástandsathuganir í if-reitnum.

Flugrekandi if inni í annarri ástandsblokk

gre_score = int(input(“Sláðu inn núverandi lánahámark þitt”))

per_grad = int(input(“Sláðu inn lánshæfiseinkunnina þína:“))

ef per_grad > 70:

    # ytri ef blokk

        ef gre_score > 150:

            # innri ef blokk

    print(“Til hamingju, þú hefur fengið lán“)

Annar:

    print(“Því miður, þú átt ekki rétt á láni“)

Þetta forrit framkvæmir lánshæfismatsskoðun. Ef það er minna en 70, tilkynnir forritið að notandinn sé ekki gjaldgengur fyrir inneign. Ef það er hærra er annað athugað til að sjá hvort núverandi lánsheimild sé hærri en 150. Ef já, þá birtast skilaboð um að lánið hafi verið gefið út.

Ef bæði gildin eru röng, þá birtast skilaboð um að notandinn hafi ekki möguleika á að fá lán. 

Nú skulum við endurvinna það forrit aðeins.

gre_score = int(inntak(“Sláðu inn núverandi mörk: “))

per_grad = int(inntak(“Sláðu inn lánstraust:“))

ef per_grad > 70:

    ef gre_score > 150:

        print(“Til hamingju, þú hefur fengið lán“)

    Annar:

        print(“Lánsfjárhámarkið þitt er lágt”)

Annar:

    print(“Því miður, þú átt ekki rétt á inneign“)

Kóðinn sjálfur er mjög svipaður, en hreiður if veitir einnig reiknirit ef ástandið úr því reynist vera rangt. Það er að segja að hámarkið á kortinu er ófullnægjandi, en kreditsaga er góð, skilaboðin „Þú ert með lágt lánshæfismat“ birtast.

if-else yfirlýsing inni í skilyrði annars

Gerum annað forrit sem ákvarðar einkunn nemanda út frá prófskorum.

score = int(inntak(“Sláðu inn stigið þitt:“))

ef stig >= 90:

    print(„Frábært! Einkunn þín er A“)

Annar:

    ef stig >= 80:

print(„Frábært! Einkunn þín er B“)

    Annar:

ef stig >= 70:

    print(„Gott! Einkunn þín er C“)

Annar:

    ef stig >= 60:

print(„Einkunn þín er D. Það er þess virði að endurtaka efnið.“)

    Annar:

print(„Þú féllst á prófinu“)

Forritið athugar fyrst hvort einkunnin sé hærri en eða jafn 90. Ef já, þá skilar hún A-einkunn. Ef þetta ástand er rangt, þá eru síðari athuganir gerðar. Við sjáum að reikniritið er nánast það sama við fyrstu sýn. Svo í stað þess að athuga inni annars betra að nota samsetningu ef-elif-annað.

Svo rekstraraðilinn if sinnir mjög mikilvægu hlutverki - það tryggir að tiltekin kóðastykki séu aðeins keyrð ef þörf er á því. Það er ómögulegt að ímynda sér forritun án þess, því jafnvel einföldustu reiknirit krefjast gaffla eins og "ef þú ferð til vinstri muntu finna það og ef þú ferð til hægri, þá þarftu að gera hitt og þetta."

Skildu eftir skilaboð