Kondisyon kon pahayag sa Python. Syntax, else/elif blocks, mga pananglitan

Sa proseso sa pagkat-on sa programa, kasagaran gikinahanglan ang paghimo og mga programa nga dili kaayo sayon ​​nga magamit sa tinuod nga kinabuhi. Pagkahuman, matag karon ug unya kinahanglan nimo nga sundon ang mga panudlo sa ilawom sa pipila nga mga kondisyon. Aron mapatuman kini sa programa, ang tanan nga mga pinulongan adunay mga pahayag sa pagkontrol. Uban sa ilang tabang, mahimo nimong makontrol ang dagan sa pagpatuman sa code, paghimo og mga loop o paghimo sa pipila nga mga aksyon kung ang usa ka piho nga kondisyon tinuod.

Karon maghisgot kita bahin sa kung pahayag, nga nagsusi sa karon nga kahimtang alang sa usa ka piho nga kahimtang, ug base sa kini nga kasayuran, naghimo mga desisyon bahin sa dugang nga mga aksyon.

Mga Matang sa Mga Pamahayag sa Pagkontrol

Sa kinatibuk-an, kung dili lamang ang pahayag nga nagkontrol sa dagan sa usa ka programa. Ingon usab siya sa iyang kaugalingon mahimo nga usa ka bahin sa usa ka mas dako nga kadena sa mga operator.

Adunay usab mga loop ug mga pahayag nga nagkontrol sa proseso sa pagpatuman niini. Karon kita maghisgot lamang mahitungod sa conditional operator ug sa mga kadena diin kini makaapil.

Sa programming, adunay usa ka butang sama sa branching. Kini mao ang tukma nga nagpasabot sa usa ka han-ay sa mga sugo nga gipatuman lamang kon ang usa ka piho nga kondisyon mao ang tinuod. Ang mga kriterya mismo mahimong lahi:

  1. Pagkaparehas sa usa ka variable sa usa ka piho nga kantidad.
  2. Pagbuhat sa usa ka piho nga aksyon.
  3. Status sa aplikasyon (nahugno o wala).

Ang spectrum mahimong mas dako. Ang mga kondisyon nga pahayag moabut sa daghang mga lahi:

  1. Uban sa usa ka sanga. Kana mao, usa ka tseke ang gihimo, ingon usa ka sangputanan diin gihimo ang pipila nga mga aksyon.
  2. Uban sa duha o labaw pa nga mga sanga. Kung ang kriterya 1 tinuod, nan susiha ang kriterya 2. Kon kini tinuod, dayon susiha ang 3. Ug busa, paghimo og daghang mga pagsusi nga gikinahanglan.
  3. Uban sa daghang mga kondisyon. Ang tanan yano dinhi. Gisusi sa tighubad ang daghang mga kondisyon o usa niini.

kon pahayag

Ang istruktura sa if nga pahayag susama sa tanang pinulongan. Bisan pa, sa Python, ang syntax niini medyo lahi sa tanan:

kon kondisyon:

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

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

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

Una, ang operator mismo gipahayag, pagkahuman gisulat ang kondisyon diin kini nagsugod sa pagtrabaho. Ang kondisyon mahimong tinuod o dili tinuod.

Gisundan kini sa usa ka bloke nga adunay mga mando. Kung kini nagsunod dayon sa usa ka sukdanan nga matuman, nan ang katugbang nga han-ay sa mga sugo gitawag og if block. Mahimo nimong gamiton ang bisan unsang gidaghanon sa mga sugo niini.

Pagtagad! Ang indentasyon sa sulod sa tanan kung block nga mga mando kinahanglan parehas nga gidak-on. Ang mga utlanan sa block gitino pinaagi sa mga indent. 

Sumala sa dokumentasyon sa pinulongan, ang indentasyon maoy 4 ka mga luna. 

Giunsa kini nga operator? Kung makita sa tighubad ang kung pulong, susihon dayon niini ang ekspresyon batok sa gipiho nga pamatasan sa tiggamit. Kung mao kini ang kahimtang, nan nagsugod siya sa pagpangita sa mga panudlo ug pagsunod niini. Kung dili, ang tanan nga mga mando gikan sa kini nga block gilaktawan.

Kung ang usa ka pahayag pagkahuman sa kondisyon wala mag-indent, dili kini isipon nga kung block. Sa among kahimtang, kini nga linya . Busa, bisan unsa pa ang resulta sa tseke, kini nga linya ipatuman.

Ania ang usa ka code snippet alang sa usa ka pananglitan kung giunsa kini nga operator molihok.

numero = int(input(“Pagsulod ug numero: “))

kung numero> 10:

    print("Ang numero labaw pa sa 10")

Kini nga programa nag-aghat sa tiggamit alang sa usa ka numero ug nagsusi kung kini labaw pa sa 10. Kung mao, gibalik niini ang angay nga kasayuran. Pananglitan, kung ang user mosulod sa numero 5, ang programa mahuman ra, ug kana.

Apan kung imong ipiho ang numero nga 100, nan ang tighubad makasabut nga kini labaw pa sa napulo, ug ireport kini.

Pagtagad! Sa among kaso, kung ang kondisyon sayup, ang programa mohunong, tungod kay wala’y mga mando nga gihatag pagkahuman sa panudlo.

Adunay usa lamang ka sugo sa ibabaw nga code. Pero daghan pa sila. Ang bugtong kinahanglanon mao ang pag-indent.

Karon atong analisahon kini nga han-ay sa mga sugo.

numero = int(input("Pagsulat ug numero:"))

kung numero> 10:

    print("unang linya")

    print("ikaduhang linya")

    print("ikatulo nga linya")

print("Ang linya nga gipatuman, bisan unsa pa ang gidaghanon nga gisulod")

print ("Katapusan ang aplikasyon")

Sulayi pagtag-an kung unsa ang output kung imong isulod ang mga kantidad 2, 5, 10, 15, 50.

Sama sa imong makita, kung ang numero nga gisulod sa tiggamit labaw pa sa napulo, nan tulo ka linya ang output + usa nga adunay teksto nga "Pagdagan matag oras ..." ug usa nga "Kataposan", ug kung wala’y napulo, nan usa ra, nga adunay lahi nga text. Ang mga linya 3,4,5 ra ang ipatuman kung tinuod. Bisan pa, ang katapusan nga duha ka linya isulat bisan unsa nga numero ang gitino sa tiggamit.

Kung gamiton nimo ang mga pahayag direkta sa console, lahi ang resulta. Gilayon dayon sa tighubad ang multi-line mode kung, pagkahuman sa pagtino sa kriterya sa pag-verify, pindota ang Enter.

Ibutang ta nga atong gisulat ang mosunod nga han-ay sa mga sugo.

>>>

>>> n = 100

>>> kung n > 10:

...

Human niana, atong makita nga >>> gipulihan sa ellipsis. Kini nagpasabot nga ang multiline input mode gipalihok. Sa yano nga mga pulong, kung imong ipadayon ang Enter, ibalhin ka sa input sa ikaduhang yugto sa panudlo. 

Ug aron makagawas gikan niini nga bloke, kinahanglan nimong idugang ang usa pa nga pagtukod sa bloke if.

>>>

>>> n = 100

>>> kung n > 10:

… print(«nv 10»)

...

Kung ang kondisyon dili tinuod, ang programa matapos. Kini usa ka problema, tungod kay ang tiggamit mahimo’g makamatikod sa ingon nga programa nga sirado tungod sa usa ka kapakyasan. Busa, gikinahanglan ang paghatag og feedback sa user. Alang niini, gigamit ang usa ka link kung-unsa pa.

operator sa ekspresyon kung-unsa pa

Gitugotan ka niini nga operator nga ipatuman ang usa ka link: kung ang ekspresyon motakdo sa usa ka piho nga lagda, buhata kini nga mga aksyon, ug kung dili, unya ang uban. Sa ato pa, gitugotan ka nga bahinon ang dagan sa programa sa duha ka mga dalan. Ang syntax kay intuitive:

kon kondisyon:

    # kung block

    pahayag 1

    pahayag 2

    Ug uban pa

uban pa:

    # lain block

    pahayag 3

    pahayag 4

    ug uban pa:

Atong ipasabut kung giunsa kini nga operator molihok. Una, ang sumbanan nga pahayag gipatuman sa hilo yew, pagsusi kung kini nagtugma nga kahimtang "tinuod" o "bakak". Ang dugang nga mga aksyon nagdepende sa mga resulta sa tseke. Kung tinuod, ang panudlo nga naa sa han-ay sa mga panudlo nga nagsunod sa kondisyon direkta nga gipatuman. yew, kon kini bakak, nan lain

Niining paagiha makontrol nimo ang mga sayup. Pananglitan, ang user kinahanglan nga mosulod sa usa ka radius. Dayag nga, mahimo ra kini nga numero nga adunay plus sign, o kini usa ka null nga kantidad. Kung kini ubos pa sa 0, nan kinahanglan ka nga mag-isyu sa usa ka mensahe nga naghangyo kanimo sa pagsulod sa usa ka positibo nga numero. 

Ania ang code nga nagpatuman niini nga buluhaton. Apan adunay usa ka sayup dinhi. Sulayi pagtag-an kung hain. 

radius = int(input("Enter radius:"))

kon radius >= 0:

    print("Circumference = ", 2 * 3.14 * radius)

    print(“Lugar = “, 3.14 * radius ** 2)

    uban pa:

        print("Palihug pagsulod ug positibong numero")

Sayop sa indentation mismatch. Kung ug Lain kinahanglan nga mahimutang nga wala sila o adunay parehas nga gidaghanon niini (depende kung kini gisalag o wala).

Hatagan ta og laing kaso sa paggamit (diin ang tanan husto sa paglinya sa operator) – usa ka elemento sa aplikasyon nga nagsusi sa password.

password = input("Isulod ang password:")

kung password == «sshh»:

    print("Welcome")

uban pa:

    print("Access denied")

Kini nga panudlo molaktaw pa sa tawo kung ang password sshh. Kung adunay lain nga kombinasyon sa mga letra ug numero, nan kini nagpakita sa mensahe nga "Gibalibaran ang pag-access".

pahayag-ekspresyon kon-elif-lain

Kung dili tinuod ang daghang mga kondisyon, ang pahayag nga naa sa block ipatuman. lain. Kini nga ekspresyon molihok sama niini.

kon kondisyon_1:

    # kung block

    pamahayag

    pamahayag

    dugang nga pahayag

elif condition_2:

    # unang elif block

    pamahayag

    pamahayag

    dugang nga pahayag

elif condition_3:

    # ikaduhang elif block

    pamahayag

    pamahayag

    dugang nga pahayag

...

lain

    pamahayag

    pamahayag

    dugang nga pahayag

Mahimo nimong itakda ang bisan unsang gidaghanon sa dugang nga mga kondisyon.

Mga nested nga pahayag

Ang laing paagi sa pagpatuman sa daghang mga kondisyon mao ang pagsal-ot og dugang nga mga pagsusi sa kondisyon sa if block.

Operator if sulod sa laing bloke sa kondisyon

gre_score = int(input("Enter your current credit limit"))

per_grad = int(input(“Isulod ang imong credit rating: “))

kung per_grad > 70:

    # gawas kung block

        kung gre_score > 150:

            # sulod kung block

    print("Congratulations, nakadawat ka ug loan")

uban pa:

    print("Pasayloa, dili ka kwalipikado alang sa usa ka loan")

Kini nga programa nagpahigayon usa ka pagsusi sa rating sa kredito. Kung kini ubos pa sa 70, ang programa nagtaho nga ang tiggamit dili kwalipikado alang sa kredito. Kung kini mas dako, ang usa ka ikaduha nga pagsusi gihimo aron makita kung ang kasamtangan nga limitasyon sa kredito labaw pa sa 150. Kung oo, unya usa ka mensahe ang gipakita nga ang loan gi-isyu.

Kung ang duha nga mga kantidad dili tinuod, unya usa ka mensahe ang gipakita nga ang tiggamit wala’y posibilidad nga makakuha usa ka pautang. 

Karon atong i-rework ang maong programa og gamay.

gre_score = int(input("Isulod ang kasamtangang limitasyon:"))

per_grad = int(input("Enter credit score:"))

kung per_grad > 70:

    kung gre_score > 150:

        print("Congratulations, nakadawat ka ug loan")

    uban pa:

        print("Ang imong credit limit gamay ra")

uban pa:

    print("Pasayloa, dili ka angayan sa kredito")

Ang code mismo susama kaayo, apan nagsalag if Naghatag usab og algorithm kung ang kondisyon gikan niini mahimong bakak. Kana mao, ang limitasyon sa kard dili igo, apan ang kasaysayan sa kredito maayo, ang mensahe nga "Ikaw adunay ubos nga credit rating" gipakita.

if-else nga pahayag sulod sa usa ka kondisyon lain

Magbuhat ta og laing programa nga magdeterminar sa grado sa estudyante base sa mga marka sa pagsulay.

score = int(input(“Isulod ang imong score: “))

kung score >= 90:

    print("Maayo! Ang imong grado kay A")

uban pa:

    kung score >= 80:

print("Maayo! Ang imong grado kay B")

    uban pa:

kung score >= 70:

    print("Maayo! Ang imong grado kay C")

uban pa:

    kung score >= 60:

print(“Ang imong grado kay D. Takus nga sublion ang materyal.”)

    uban pa:

print("Napakyas ka sa eksaminasyon")

Ang aplikasyon una nga nagsusi aron makita kung ang iskor mas dako o katumbas sa 90. Kung oo, nan kini nagbalik sa usa ka grado nga A. Kung kini nga kondisyon dili tinuod, nan ang sunod nga mga pagsusi gihimo. Nakita namon nga ang algorithm hapit parehas sa una nga pagtan-aw. Busa imbes nga susihon ang sulod lain mas maayo nga gamiton ang kombinasyon kung-elif-lain.

Busa ang operator if naghimo sa usa ka importante kaayo nga function - kini nagsiguro nga ang pipila ka mga piraso sa code gipatuman lamang kung adunay panginahanglan alang niini. Imposible nga mahanduraw ang pagprograma kung wala kini, tungod kay bisan ang pinakasimple nga mga algorithm nanginahanglan mga tinidor sama sa "kung moadto ka sa wala, makit-an nimo kini, ug kung moadto ka sa tuo, kinahanglan nimo buhaton kini ug kana."

Leave sa usa ka Reply