Ni àídájú ti o ba ti gbólóhùn ni Python. Sintasi, miran/elif ohun amorindun, apeere

Ninu ilana ikẹkọ si eto, o jẹ pataki nigbagbogbo lati ṣẹda awọn eto ti ko rọrun pupọ lati lo ni igbesi aye gidi. Lẹhinna, lati igba de igba o ni lati tẹle awọn ilana nikan labẹ awọn ipo kan. Lati ni anfani lati ṣe eyi ninu eto naa, gbogbo awọn ede ni awọn alaye iṣakoso. Pẹlu iranlọwọ wọn, o le ṣakoso sisan ti ipaniyan koodu, ṣiṣẹda awọn lupu tabi ṣiṣe awọn iṣe kan nikan nigbati ipo kan jẹ otitọ.

Loni a yoo sọrọ nipa ti alaye naa, eyiti o ṣayẹwo ipo lọwọlọwọ fun ipo kan, ati da lori alaye yii, ṣe awọn ipinnu nipa awọn iṣe siwaju.

Orisi ti Iṣakoso Gbólóhùn

Ni gbogbogbo, ti kii ba ṣe alaye nikan ti o ṣakoso ṣiṣan ti eto kan. Bi daradara bi on tikararẹ le jẹ paati kan ti o tobi pq ti awọn oniṣẹ.

Awọn losiwajulosehin ati awọn alaye tun wa ti o ṣakoso ilana ti ipaniyan rẹ. Loni a yoo sọrọ nikan nipa oniṣẹ ipo ati awọn ẹwọn ninu eyiti o le kopa.

Ninu siseto, iru nkan kan wa bi ẹka. O jẹ deede eyi ti o tumọ si ọkọọkan awọn aṣẹ ti o ṣiṣẹ nikan ti ipo kan ba jẹ otitọ. Awọn ilana funrararẹ le yatọ:

  1. Idogba ti oniyipada si iye kan.
  2. Ṣiṣe iṣe kan pato.
  3. Ipo ohun elo (ti ṣubu tabi rara).

Awọn julọ.Oniranran le jẹ Elo tobi. Awọn gbolohun ọrọ wa ni awọn oriṣi pupọ:

  1. Pẹlu ẹka kan. Iyẹn ni, ayẹwo kan ni a ṣe, bi abajade eyiti awọn iṣe kan ṣe.
  2. Pẹlu awọn ẹka meji tabi diẹ sii. Ti ami-ẹri 1 ba jẹ otitọ, lẹhinna ṣayẹwo ami-ẹri 2. Ti o ba jẹ otitọ, lẹhinna ṣayẹwo 3. Ati bẹ, ṣe ọpọlọpọ awọn sọwedowo bi o ṣe nilo.
  3. Pẹlu awọn ipo pupọ. Ohun gbogbo ni o rọrun nibi. Olutumọ n ṣayẹwo fun awọn ipo pupọ tabi ọkan ninu wọn.

ti o ba ti gbólóhùn

Ilana ti ọrọ naa ba jọra ni gbogbo awọn ede. Sibẹsibẹ, ni Python, sintasi rẹ yatọ si diẹ si gbogbo awọn miiran:

ti o ba jẹ pe:

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

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

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

Ni akọkọ, oniṣẹ funrararẹ ti kede, lẹhin eyi ni a ti kọ ipo labẹ eyiti o bẹrẹ iṣẹ. Ipo naa le jẹ boya otitọ tabi eke.

Eyi ni atẹle nipasẹ bulọọki pẹlu awọn aṣẹ. Ti o ba tẹle atẹle atẹle kan lati pade, lẹhinna ilana ti o baamu ti awọn aṣẹ ni a pe ni ohun ti o ba jẹ bulọki. O le lo nọmba eyikeyi ti awọn aṣẹ ninu rẹ.

Ifarabalẹ! Ifiwọle laarin gbogbo ti awọn pipaṣẹ dina gbọdọ jẹ iwọn kanna. Awọn aala Àkọsílẹ jẹ ipinnu nipasẹ awọn indents. 

Ni ibamu si awọn iwe ede, indentation jẹ 4 awọn alafo. 

Bawo ni oniṣẹ ẹrọ yii ṣe n ṣiṣẹ? Nigbati onitumọ ba rii ọrọ ti o ba jẹ, o ṣayẹwo lẹsẹkẹsẹ ikosile naa lodi si awọn ibeere ti olumulo pato. Ti eyi ba jẹ ọran, lẹhinna o bẹrẹ wiwa awọn itọnisọna ati tẹle wọn. Bibẹẹkọ, gbogbo awọn aṣẹ lati inu bulọọki yii ti fo.

Ti o ba ti a gbólóhùn lẹhin ti awọn majemu ti ko ba indented, o ti wa ni ko mu bi ohun ti o ba ti Àkọsílẹ. Ni ipo wa, ila yii jẹ . Nitorinaa, laibikita abajade ayẹwo, laini yii yoo ṣiṣẹ.

Eyi ni snippet koodu kan fun apẹẹrẹ ti bii oniṣẹ ẹrọ yii ṣe n ṣiṣẹ.

nọmba = int (titẹ sii ("Tẹ nọmba sii: "))

ti nọmba > 10:

    tẹjade ("Nọmba naa tobi ju 10")

Eto yi ta olumulo fun nọmba kan ati ki o sọwedowo ti o ba ti o jẹ tobi ju 10. Ti o ba ti bẹ, o pada awọn yẹ alaye. Fun apẹẹrẹ, ti olumulo ba tẹ nọmba 5 sii, lẹhinna eto naa yoo pari nirọrun, ati pe iyẹn ni.

Ṣugbọn ti o ba pato nọmba 100, lẹhinna olutumọ yoo ye pe o ju mẹwa lọ, ki o si jabo rẹ.

Ifarabalẹ! Ninu ọran wa, ti ipo naa ba jẹ eke, eto naa duro, nitori ko si awọn aṣẹ ti a fun lẹhin ilana naa.

Ilana kan ṣoṣo ni o wa ninu koodu ti o wa loke. Ṣugbọn ọpọlọpọ diẹ sii ninu wọn. Ibeere nikan ni lati wọle.

Bayi jẹ ki ká itupalẹ yi ọkọọkan ti ase.

nọmba = int (titẹ sii ("Kọ nọmba kan: "))

ti nọmba > 10:

    tẹjade ("ila akọkọ")

    tẹjade ("ila keji")

    tẹjade ("ila kẹta")

tẹjade (“Laini ti o ṣiṣẹ, laibikita nọmba ti a tẹ”)

tẹjade (“Opin ohun elo”)

Gbiyanju lati gboju kini abajade yoo jẹ ti o ba tẹ awọn iye 2, 5, 10, 15, 50 sii.

Bii o ti le rii, ti nọmba ti olumulo ba tẹ sii ju mẹwa lọ, lẹhinna awọn laini mẹta yoo jade + ọkan pẹlu ọrọ “Ṣiṣe ni gbogbo igba…” ati ọkan “Ipari”, ati pe ti o ba kere ju mẹwa, lẹhinna ọkan nikan, pẹlu ọrọ ti o yatọ. Awọn ila 3,4,5 nikan ni yoo ṣiṣẹ ti o ba jẹ otitọ. Sibẹsibẹ, awọn ila meji ti o kẹhin yoo kọ laibikita nọmba wo ni olumulo ṣe pato.

Ti o ba lo awọn alaye taara ninu console, abajade yoo yatọ. Onitumọ lẹsẹkẹsẹ tan ipo laini pupọ ti o ba jẹ pe, lẹhin ti o pato ami idanimọ, tẹ Tẹ.

Ṣebi a ti kọ ọkọọkan awọn aṣẹ wọnyi.

>>>

>>> n = 100

>>> ti n > 10:

...

Lẹhin iyẹn, a yoo rii pe >>> ti rọpo nipasẹ ellipsis. Eyi tumọ si pe ipo titẹ sii multiline ti ṣiṣẹ. Ni awọn ọrọ ti o rọrun, ti o ba tẹ Tẹ, iwọ yoo gbe lọ si titẹ sii ti ipele keji ti itọnisọna naa. 

Ati pe lati le jade kuro ni bulọọki yii, o nilo lati ṣafikun ikole kan diẹ sii si bulọki naa if.

>>>

>>> n = 100

>>> ti n > 10:

… tẹjade («Nv 10»)

...

Ti ipo naa ko ba jẹ otitọ, eto naa dopin. Eyi jẹ iṣoro kan, niwọn igba ti olumulo le rii iru eto bii ti pipade nitori ikuna kan. Nitorinaa, o jẹ dandan lati fun olumulo ni esi. Fun eyi, ọna asopọ kan lo ti o ba ti-miiran.

onišẹ ikosile ti o ba ti-miiran

Oṣiṣẹ yii gba ọ laaye lati ṣe ọna asopọ kan: ti ikosile ba baamu ofin kan, ṣe awọn iṣe wọnyi, ati bi ko ba ṣe bẹ, lẹhinna awọn miiran. Iyẹn ni, o gba ọ laaye lati pin ṣiṣan ti eto naa si awọn ọna meji. Sintasi naa jẹ ogbon inu:

ti o ba jẹ pe:

    # ti o ba dina

    gbólóhùn 1

    gbólóhùn 2

    ati bẹbẹ lọ

omiiran:

    # miiran Àkọsílẹ

    gbólóhùn 3

    gbólóhùn 4

    ati bẹbẹ lọ:

Jẹ ki a ṣe alaye bi oniṣẹ yii ṣe n ṣiṣẹ. Ni akọkọ, alaye boṣewa jẹ ṣiṣe ni okun yew, ṣayẹwo boya o baamu majemu "otitọ" tabi "eke". Awọn iṣe siwaju da lori awọn abajade ayẹwo. Ti o ba jẹ otitọ, itọnisọna ti o wa ni ọna ti awọn ilana ti o tẹle ipo naa jẹ ṣiṣe taara. yew, ti o ba jẹ eke, lẹhinna miran

Ni ọna yii o le mu awọn aṣiṣe. Fun apẹẹrẹ, olumulo nilo lati tẹ rediosi kan sii. O han ni, o le jẹ nọmba nikan pẹlu ami afikun, tabi o jẹ iye asan. Ti o ba kere ju 0, lẹhinna o nilo lati fun ifiranṣẹ kan ti o beere lọwọ rẹ lati tẹ nọmba rere sii. 

Eyi ni koodu ti o ṣe iṣẹ-ṣiṣe yii. Ṣugbọn aṣiṣe kan wa nibi. Gbiyanju lati gboju le won eyi. 

radius = int (igbewọle ("Tẹ rediosi: ")))

ti rediosi>= 0:

    titẹjade (“Ayika = “, 2 * 3.14 * rediosi)

    tẹjade (“Agbegbe = “, 3.14 * rediosi ** 2)

    omiiran:

        tẹjade (“Jọwọ tẹ nọmba rere kan sii”)

Aṣiṣe ibaamu indentation. Ti o ba jẹ miiran gbọdọ wa laisi wọn tabi pẹlu nọmba kanna ti wọn (da lori boya wọn jẹ itẹ-ẹiyẹ tabi rara).

Jẹ ki a fun ni ọran lilo miiran (nibiti ohun gbogbo yoo jẹ deede pẹlu titete oniṣẹ) – ohun elo kan ti o ṣayẹwo ọrọ igbaniwọle kan.

ọrọigbaniwọle = titẹ sii ("Tẹ ọrọ igbaniwọle sii:")

ti ọrọ igbaniwọle == «sshh»:

    tẹjade (“Kaabo”)

omiiran:

    tẹjade ("Ti kọ wiwọle")

Ilana yii fo eniyan naa siwaju ti ọrọ igbaniwọle ba jẹ sshh. Ti eyikeyi akojọpọ awọn lẹta ati awọn nọmba, lẹhinna o ṣafihan ifiranṣẹ naa “A kọ wiwọle si”.

gbólóhùn-ikosile if-elif-miran

Nikan ti awọn ipo pupọ ko ba jẹ otitọ, alaye ti o wa ninu bulọki naa ti ṣiṣẹ. miran. Ọrọ ikosile yii ṣiṣẹ bi eleyi.

ti o ba jẹ ipo_1:

    # ti o ba dina

    gbólóhùn

    gbólóhùn

    diẹ gbólóhùn

ipo elif_2:

    # akọkọ elif Àkọsílẹ

    gbólóhùn

    gbólóhùn

    diẹ gbólóhùn

ipo elif_3:

    # keji elif Àkọsílẹ

    gbólóhùn

    gbólóhùn

    diẹ gbólóhùn

...

miran

    gbólóhùn

    gbólóhùn

    diẹ gbólóhùn

O le pato nọmba eyikeyi ti awọn ipo afikun.

Awọn gbólóhùn itẹle

Ọnà miiran lati ṣe awọn ipo pupọ ni lati fi awọn sọwedowo ipo afikun sii ni ti o ba jẹ bulọki.

onišẹ if inu miiran Àkọsílẹ majemu

gre_score = int (igbewọle ("Tẹ opin kirẹditi lọwọlọwọ rẹ sii")))

per_grad = int (igbewọle (“Tẹ idiyele kirẹditi rẹ sii: “))

ti per_grad> 70:

    # ode ti o ba ti Àkọsílẹ

        ti gre_score> 150:

            # inu ti o ba jẹ Àkọsílẹ

    tẹjade (“O ku, o ti gba awin kan”)

omiiran:

    tẹjade (“Ma binu, iwọ ko yẹ fun awin kan”)

Eto yii n ṣe ayẹwo ayẹwo idiyele kirẹditi kan. Ti o ba kere ju 70, eto naa ṣe ijabọ pe olumulo ko ni ẹtọ fun kirẹditi. Ti o ba tobi ju, ayẹwo keji ni a ṣe lati rii boya opin kirẹditi lọwọlọwọ ti o tobi ju 150. Ti o ba jẹ bẹẹni, lẹhinna ifiranṣẹ kan han pe awin naa ti jade.

Ti awọn iye mejeeji ba jẹ eke, lẹhinna ifiranṣẹ kan han pe olumulo ko ni aye lati gba awin kan. 

Bayi jẹ ki a tun eto yẹn ṣiṣẹ diẹ.

gre_score = int (igbewọle ("Tẹ opin lọwọlọwọ sii: "))

per_grad = int (igbewọle ("Tẹ sii kirẹditi kirẹditi: "))

ti per_grad> 70:

    ti gre_score> 150:

        tẹjade (“O ku, o ti gba awin kan”)

    omiiran:

        tẹjade (“Iwọn kirẹditi rẹ kere”)

omiiran:

    tẹjade (“Ma binu, iwọ ko yẹ fun kirẹditi”)

Awọn koodu ara jẹ gidigidi iru, ṣugbọn iteeye if tun pese ohun algoridimu ni irú awọn majemu lati o wa ni jade lati wa ni eke. Iyẹn ni, opin lori kaadi ko to, ṣugbọn itan-kirẹditi dara, ifiranṣẹ “O ni idiyele kirẹditi kekere” ti han.

ti o ba ti-miiran gbólóhùn inu kan majemu miran

Jẹ ki a ṣe eto miiran ti o pinnu ipele ọmọ ile-iwe ti o da lori awọn nọmba idanwo.

Dimegilio = int (igbewọle (“Tẹ Dimegilio rẹ sii:”))

ti Dimegilio>= 90:

    tẹjade (“Nla! Ipele rẹ jẹ A”)

omiiran:

    ti Dimegilio>= 80:

tẹjade (“Nla! Ipele rẹ jẹ B”)

    omiiran:

ti Dimegilio>= 70:

    tẹjade (“O dara! Ipele rẹ jẹ C”)

omiiran:

    ti Dimegilio>= 60:

tẹjade (“Ipele rẹ jẹ D. O tọ lati tun ohun elo naa ṣe.”)

    omiiran:

tẹjade (“O kuna idanwo naa”)

Ohun elo naa ṣayẹwo ni akọkọ lati rii boya Dimegilio naa tobi ju tabi dọgba si 90. Ti o ba jẹ bẹẹni, lẹhinna o pada ipele A kan. Ti ipo yii ba jẹ eke, lẹhinna awọn sọwedowo atẹle ni a ṣe. A rii pe algorithm jẹ fere kanna ni wiwo akọkọ. Nitorina dipo ti ṣayẹwo inu miran dara lati lo apapo if-elif-miiran.

Nitorina oniṣẹ if ṣe iṣẹ pataki kan - o rii daju pe awọn ege koodu kan ti ṣiṣẹ nikan ti iwulo ba wa. Ko ṣee ṣe lati fojuinu siseto laisi rẹ, nitori paapaa awọn algoridimu ti o rọrun julọ nilo awọn orita bii “ti o ba lọ si apa osi, iwọ yoo rii, ati pe ti o ba lọ si apa ọtun, lẹhinna o nilo lati ṣe eyi ati iyẹn.”

Fi a Reply