Saratna lamun pernyataan di Python. Sintaksis, sejenna / blok elif, conto

Dina prosés diajar program, mindeng diperlukeun pikeun nyieun program anu teu jadi gampang pikeun nerapkeun dina kahirupan nyata. Barina ogé, ti jaman ka jaman anjeun kudu nuturkeun parentah ngan dina kaayaan nu tangtu. Pikeun tiasa nerapkeun ieu dina program, sadaya basa gaduh pernyataan kontrol. Kalayan bantosanana, anjeun tiasa ngontrol aliran palaksanaan kode, nyiptakeun puteran atanapi ngalakukeun tindakan anu tangtu ngan ukur nalika kaayaan anu tangtu leres.

Dinten ieu kami bakal ngobrol ngeunaan pernyataan upami, anu mariksa kaayaan ayeuna pikeun kaayaan anu tangtu, sareng dumasar kana inpormasi ieu, nyandak kaputusan ngeunaan tindakan salajengna.

Jinis Pernyataan Kontrol

Sacara umum, lamun teu hijina pernyataan nu ngatur aliran program. Kitu ogé anjeunna tiasa janten komponén tina ranté operator anu langkung ageung.

Aya ogé loop sareng pernyataan anu ngatur prosés palaksanaanna. Dinten ieu kami ngan ukur ngobrol ngeunaan operator kondisional sareng ranté dimana éta tiasa ilubiung.

Dina programming, aya hiji hal kayaning branching. Justru ieu hartosna runtuyan paréntah anu dieksekusi ngan upami kaayaan anu tangtu leres. Kriteria sorangan tiasa béda:

  1. Kasaruaan variabel kana nilai nu tangtu.
  2. Ngalakukeun tindakan khusus.
  3. Kaayaan aplikasi (rubuh atanapi henteu).

Spéktrum tiasa langkung ageung. Pernyataan kondisional aya sababaraha jinis:

  1. Kalayan hiji cabang. Nyaéta, pamariksaan tunggal dilaksanakeun, salaku hasil tina tindakan anu tangtu dilaksanakeun.
  2. Kalawan dua atawa leuwih cabang. Lamun kriteria 1 bener, teras pariksa kriteria 2. Lamun bener, teras pariksa 3. Jeung saterusna, ngalakukeun saloba cék sakumaha diperlukeun.
  3. Kalayan sababaraha kaayaan. Sagalana basajan di dieu. Juru mariksa sababaraha kaayaan atawa salah sahijina.

upami pernyataan

Struktur pernyataan if sarua dina sakabéh basa. Nanging, dina Python, sintaksisna rada béda ti anu sanés:

lamun kaayaan:

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

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

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

Kahiji, operator sorangan dinyatakeun, nu satutasna ditulis kaayaan ngabawah eta dimimitian gawé. Kaayaan éta tiasa leres atanapi salah.

Ieu dituturkeun ku blok jeung paréntah. Upami éta langsung nuturkeun kriteria anu kedah dicumponan, maka sekuen paréntah anu cocog disebut blok if. Anjeun tiasa nganggo sababaraha paréntah di jerona.

Perhatian! Indentation dina sagala lamun paréntah blok kudu ukuran sarua. Wates blok ditangtukeun ku indents. 

Numutkeun dokuméntasi basa, indentation aya 4 spasi. 

Kumaha operator ieu jalan? Nalika juru basa ningali kecap upami, éta langsung mariksa éksprési ngalawan kritéria anu ditangtukeun ku pangguna. Upami ieu masalahna, teras anjeunna ngamimitian milarian petunjuk sareng nuturkeunana. Upami teu kitu, sadaya paréntah ti blok ieu skipped.

Lamun hiji pernyataan sanggeus kondisi teu indented, éta teu diperlakukeun salaku blok lamun. Dina kaayaan urang, garis ieu . Ku alatan éta, paduli hasil tina dipariksa, baris ieu bakal dieksekusi.

Ieu snippet kode pikeun conto kumaha operator ieu jalan.

angka = int(input("Asupkeun angka:"))

lamun nomer > 10:

    print("Jumlahna leuwih gede ti 10")

Program ieu nyarankeun pangguna pikeun nomer sareng mariksa upami langkung ageung tibatan 10. Upami kitu, éta bakal ngabalikeun inpormasi anu cocog. Contona, upami pamaké asupkeun angka 5, program bakal mungkas, sarta éta.

Tapi lamun nangtukeun jumlah 100, juru bakal ngarti yén éta téh leuwih ti sapuluh, sarta ngalaporkeun eta.

Perhatian! Dina kasus urang, upami kaayaanna palsu, programna lirén, sabab henteu aya paréntah anu dipasihkeun saatos paréntahna.

Aya ngan hiji paréntah dina kode luhur. Tapi aya leuwih loba di antarana. Hiji-hijina sarat nyaéta indent.

Ayeuna hayu urang nganalisis runtuyan paréntah ieu.

angka = int(input("Tulis angka:"))

lamun nomer > 10:

    print ("baris kahiji")

    print ("baris kadua")

    print ("baris katilu")

print ("Garis anu dieksekusi, henteu paduli jumlah anu diasupkeun")

print ("Tungtung aplikasi")

Coba nebak naon kaluaran bakal upami anjeun ngasupkeun nilai 2, 5, 10, 15, 50.

Sakumaha anjeun tiasa tingali, upami jumlah anu dilebetkeun ku pangguna langkung ti sapuluh, teras tilu garis kaluaran + hiji kalayan téks "Run every time ..." sareng hiji "End", sareng upami kirang ti sapuluh, teras ngan hiji, kalayan téks béda. Ngan garis 3,4,5 bakal dieksekusi upami leres. Sanajan kitu, dua garis panungtungan bakal ditulis euweuh urusan naon angka pamaké nangtukeun.

Upami anjeun nganggo pernyataan langsung dina konsol, hasilna bakal béda. Juru basa langsung ngahurungkeun modeu multi-garis lamun, sanggeus nangtukeun kriteria verifikasi, pencét Lebetkeun.

Anggap we geus ditulis runtuyan paréntah di handap.

>>>

>>> n = 100

>>> lamun n > 10:

...

Sanggeus éta, urang bakal ningali yén >>> geus diganti ku elipsis. Ieu ngandung harti yén mode input multiline diaktipkeun. Dina kecap basajan, lamun mencet Lebetkeun, anjeun bakal dibikeun ka input tahap kadua instruksi. 

Sareng pikeun kaluar tina blok ieu, anjeun kedah nambihan hiji deui konstruksi kana blok éta if.

>>>

>>> n = 100

>>> lamun n > 10:

… nyitak(«nv 10»)

...

Upami kaayaan éta henteu leres, programna réngsé. Ieu mangrupikeun masalah, sabab pangguna tiasa nganggap program sapertos ditutup kusabab gagal. Ku alatan éta, perlu méré eupan balik ka pamaké. Pikeun ieu, tautan dianggo upami-sanés.

operator éksprési upami-sanés

Operator ieu ngamungkinkeun anjeun pikeun nerapkeun tautan: upami ekspresi cocog sareng aturan anu tangtu, laksanakeun tindakan ieu, sareng upami henteu, maka anu sanés. Nyaéta, éta ngamungkinkeun anjeun ngabagi aliran program kana dua jalan. Sintaksisna intuitif:

lamun kaayaan:

    # lamun meungpeuk

    pernyataan 1

    pernyataan 2

    teras salajengna

sanésna:

    # lain blok

    pernyataan 3

    pernyataan 4

    teras salajengna:

Hayu urang ngajelaskeun kumaha operator ieu jalan. Kahiji, pernyataan standar dieksekusi dina thread yeuh, mariksa naha éta cocog kaayaan "leres" atanapi "salah". lampah salajengna gumantung kana hasil cék. Upami leres, instruksi anu aya dina sekuen paréntah nuturkeun kaayaan éta langsung dieksekusi. yeuh, lamun éta palsu, lajeng lamun henteu

Ku cara ieu anjeun tiasa ngadamel kasalahan. Contona, pamaké kudu ngasupkeun radius a. Jelas, éta ngan ukur tiasa janten angka kalayan tanda tambah, atanapi éta nilai nol. Upami kirang ti 0, maka anjeun kedah ngaluarkeun pesen anu naroskeun anjeun ngalebetkeun nomer anu positif. 

Ieu kodeu anu ngalaksanakeun tugas ieu. Tapi aya hiji kasalahan di dieu. Coba tebak nu mana. 

radius = int(input(“Asupkeun radius: “))

lamun radius >= 0:

    print("Kuliling = ", 2 * 3.14 * jari-jari)

    print("Area = ", 3.14 * jari-jari ** 2)

    sanésna:

        print("Mangga lebetkeun angka positif")

Kasalahan indentation mismatch. Lamun jeung Lain kudu lokasina tanpa aranjeunna atanapi kalawan jumlah anu sarua di antarana (gumantung kana naha aranjeunna nested atanapi henteu).

Hayu urang masihan kasus pamakean anu sanés (dimana sadayana bakal leres sareng alignment operator) - unsur aplikasi anu mariksa kecap konci.

sandi = input("Asupkeun sandi:")

lamun sandi == «sshh»:

    print ("Wilujeng sumping")

sanésna:

    print ("Akses ditolak")

Parentah ieu ngalangkungan jalma langkung jauh upami kecap koncina sshh. Upami aya kombinasi hurup sareng nomer sanés, éta bakal nunjukkeun pesen "Akses ditolak".

pernyataan-ekspresi lamun-elif-sejenna

Ngan upami sababaraha kaayaan henteu leres, pernyataan anu aya dina blok dieksekusi. lamun henteu. Ekspresi ieu dianggo sapertos kieu.

lamun kaayaan_1:

    # lamun meungpeuk

    parnyataan

    parnyataan

    pernyataan langkung

kaayaan elif_2:

    # blok elif munggaran

    parnyataan

    parnyataan

    pernyataan langkung

kaayaan elif_3:

    # blok elif kadua

    parnyataan

    parnyataan

    pernyataan langkung

...

lamun henteu

    parnyataan

    parnyataan

    pernyataan langkung

Anjeun tiasa nangtukeun sajumlah kaayaan tambahan.

pernyataan Nested

Cara séjén pikeun nerapkeun sababaraha kaayaan nyaéta nyelapkeun cek kaayaan tambahan dina blok if.

petugas if jero blok kaayaan sejen

gre_score = int(input("Asupkeun wates kiridit anjeun ayeuna"))

per_grad = int(input("Asupkeun rating kiridit anjeun:"))

lamun per_grad> 70:

    # luar lamun blok

        lamun gre_score > 150:

            # jero lamun blok

    print ("Wilujeng, anjeun parantos nampi pinjaman")

sanésna:

    print("Hampura, anjeun teu layak pikeun injeuman")

Program ieu ngalakukeun cek rating kiridit. Upami kirang ti 70, program ngalaporkeun yén pangguna henteu layak pikeun kiridit. Upami langkung ageung, pamariksaan kadua dilakukeun pikeun ningali upami wates kiridit ayeuna langkung ageung tibatan 150. Upami enya, teras dipintonkeun pesen yén pinjaman parantos dikaluarkeun.

Upami duanana nilai palsu, teras dipintonkeun pesen yén pangguna henteu gaduh kamungkinan pikeun kéngingkeun pinjaman. 

Ayeuna hayu urang ngerjakeun deui program éta sakedik.

gre_score = int(input("Asupkeun wates ayeuna:"))

per_grad = int(input("Asupkeun skor kiridit:"))

lamun per_grad> 70:

    lamun gre_score > 150:

        print ("Wilujeng, anjeun parantos nampi pinjaman")

    sanésna:

        print ("Batesan kiridit anjeun handap")

sanésna:

    print("Hampura, anjeun teu layak pikeun kiridit")

Kode sorangan pisan sarupa, tapi nested if ogé nyadiakeun hiji algoritma bisi kaayaan ti tétéla palsu. Hartina, wates dina kartu teu cukup, tapi sajarah kiridit téh alus, pesen "Anjeun boga rating kiridit low" dipintonkeun.

pernyataan lamun-lain dina kaayaan lamun henteu

Hayu urang ngadamel program sanés anu nangtukeun peunteun murid dumasar kana skor tés.

skor = int(input("Asupkeun skor anjeun:"))

lamun skor >= 90:

    print("Hebat! Nilai anjeun A")

sanésna:

    lamun skor >= 80:

print("Hebat! Kelas anjeun B")

    sanésna:

lamun skor >= 70:

    print("Alus! Nilai anjeun C")

sanésna:

    lamun skor >= 60:

print("Kelas anjeun D. Éta patut diulang deui materina.")

    sanésna:

print ("Anjeun gagal dina ujian")

Aplikasina mariksa heula kanggo ningali naha skorna langkung ageung atanapi sami sareng 90. Upami enya, maka éta bakal nampi nilai A. Upami kaayaan ieu palsu, maka pamariksaan salajengna dilaksanakeun. Urang nempo yén algoritma ampir sarua dina glance kahiji. Jadi tinimbang mariksa jero lamun henteu hadé ngagunakeun kombinasi a lamun-elif-lain.

Jadi operator if ngalakukeun hiji fungsi pohara penting - ngajadikeun yakin yén potongan tangtu kode anu dieksekusi ngan lamun aya anu peryogi pikeun eta. Teu mungkin pikeun ngabayangkeun program tanpa éta, sabab bahkan algoritma pangbasajanna peryogi garpu sapertos "upami anjeun ka kénca, anjeun bakal mendakanana, sareng upami anjeun ka katuhu, maka anjeun kedah ngalakukeun ieu sareng éta."

Leave a Reply