Viața vizează luarea deciziilor corecte, iar programele noastre nu sunt scutite de acest lucru. Ei bine, în cele din urmă programăm ceva pentru unele aspecte ale vieții noastre. Prin urmare, trebuie să ne așteptăm la chestiunea luării deciziilor în programele noastre.
Aici este locul declarații condiționale intră în joc. Ele ne ajută să luăm astfel de decizii prin controlul logic al programelor noastre. Declarațiile condiționale din Python sunt: dacă, Elif, și altfel.
Dar, ce face declarația condiționată? Pur și simplu verifică dacă o declarație (test) este Adevărat sau fals, pe baza căreia se ia decizia.
Spre deosebire de linie dreapta programe în care declarațiile sunt executate în ordinea în care apar, programe de ramificare ne permite să navigăm la declarații indiferent de ordin, dar pe baza deciziei. Declarațiile condiționale pe care le-am menționat mai sus sunt considerate a fi de acest tip de programe, cu condiția ca dacă o declarație condiționată a fost executată, execuția programului continuă la codul următor instrucțiunii condiționate.
În această secțiune voi descrie diferitele părți de care se compune o declarație condiționată. O declarație condiționată constă în principal din următoarele părți principale:
Declarația condițională din Python arată astfel:
dacă test: cod alt: cod
Unde Test este o expresie booleană, adică o expresie care evaluează fie una Adevărat sau fals. Cu alte cuvinte, afirmațiile condiționale ne permit să verificăm veridicitatea unei declarații. Să vedem un exemplu simplu al structurii de mai sus:
x = 0 dacă x == 3: imprimarea 'x este egală cu 3' altceva: tipăriți 'x NU este egal cu 3' tipăriți 'Asta este!'
Care este rezultatul acestui fragment de cod? Mergeți, încercați.
În acest moment, cred că ar trebui să menționez repede zimțuire (spații), pe care Python le folosește spre deosebire de brațele în alte limbi precum C. În scenariul de mai sus, ce s-ar întâmpla dacă ați scris ultimul imprimare
declarație la același nivel în cadrul imprimare
declarația de mai sus ( altfel
cod)? Cu alte cuvinte, dacă am scris-o după cum urmează:
else: print 'x nu este egal cu 5' print 'Asta e!'
În acest caz, tipăriți "Asta este!"
va face parte din altfel
cod bloc.
Acesta este doar un exemplu rapid de indentare, pe care Python se bazează pe extensiv în sintaxa sa. Când programați în Python, ar trebui să vă așteptați ca astfel de erori să apară ocazional atunci când există o problemă cu indentarea dvs.:
IndentationError: așteptați un bloc indentat
Declarația condiționată se spune că este cuibărit dacă Adevărat bloc de cod sau fals blocul de cod (adică altceva) conține o altă declarație condiționată. Să vedem un exemplu în acest sens:
dacă curs1 == 'Informatică I': dacă curs2 == 'Computer Science II': print 'studentul poate lua cursul Structuri de date' altfel: print 'studentul nu are cerințele necesare pentru a lua cursul Structuri de date'
Aici avem o afirmație condiționată imbricată de la prima dacă
declarația conține un altul dacă
în interiorul lui. Observați din nou modul în care codul este indentat. Acest lucru este foarte critic la programarea în Python.
După cum vă amintiți, am menționat că Test în structura condiției condiționale este o expresie booleană. Uneori este posibil să aveți nevoie de mai mult de o expresie booleană în același test și asta este ceea ce numim expresii booleene compuse.
Să luăm un exemplu care găsește cel mai mic număr de trei numere. Observați că primul test este o expresie combinată booleană.
în cazul în care unÎn acest exemplu, folosim pentru prima dată prima declarație condițională în acest tutorial, adică
Elif
, care se referă la altfel dacă.Am folosit de asemenea o operație booleană numită
și
, ceea ce înseamnă că toate declarațiile trebuie să fie Adevărat pentru ca următoarea afirmație să se execute. Operațiile booleene ale Python pot fi rezumate în următorul tabel:
Operație booleană | Descriere |
---|---|
sau | următoarea declarație rulează dacă orice expresie este adevărată |
și | toate expresiile trebuie să fie valabile pentru ca următoarea afirmație să se execute |
nu | expresia este falsă dacă evaluează la adevărat și invers |
Dacă ați avut o declarație (test) cu un amestec al acelor operațiuni, ordinea de prioritate este după cum urmează: sau
alerga mai întâi, atunci și
, atunci nu
.
Să luăm un alt exemplu care arată cum putem folosi operațiile booleene cu liste:
list = [1,2,3,4,5] x = 13 dacă x nu este în listă: print 'x nu este în listă'
Vezi cum am folosit nu
în acest exemplu? După cum știți, pentru blocul de cod din dacă
declarația de rulare, declarația (expresia booleană) trebuie evaluată la Adevărat. Declarația inițial evaluează fals în cazul nostru, deoarece 13 nu aparține listei. Dacă rulați programul, totuși, veți observa că imprimare
declarația este în curs de desfășurare. Cum sa întâmplat asta? Acest lucru sa întâmplat de când am folosit nu
operator, care inversează valoarea inițială de evaluare. În cazul nostru, a inversat fals la Adevărat.
Știu că ați întrebat până acum despre când a intrerupator
exemplu se va întâmpla. Poate că, dacă ați aflat declarațiile condiționate într-un alt limbaj de programare, ați fost confruntat cu exemple care arată frumusețea utilizării intrerupator
declarații. Motivul pentru care nu am menționat exemple de astfel de afirmații este că Python nu are intrerupator
declaraţii!
Pentru mai multe informații despre condițiile Python, vă puteți referi la documentație.