Instructiuni conditionale
OK! Am acoperit (sper) buclele 'while'. Acum sa analizam ceva diferit - instructiunile conditionale.
Instructiunile conditionale reprezinta sectiuni de cod care sunt rulate daca sunt indeplinite anumite conditii. Sunt similare buclei 'while' pe care tocmai ai scris-o, care ruleaza doar cand x nu este egal cu 0, cu diferenta ca instructiunile conditionale sunt rulate doar o singura data. Cea mai intalnita instructiune de acest tip (in orice limbaj de programare) este 'if'. Iata cum actioneaza:
if {conditii ce trebuiesc indeplinite }:
{executa asta}
{si asta}
{si asta}
{acest cod este executat oricum }
{pentru ca nu este indentat }
Iata si un exemplu:
y = 1
if y == 1:
print "y este egal 1, doar verificam"
print "Vom afisa numerele pare pana la 20"
n = 1
while n <= 20:
if n % 2 == 0:
print n
n = n + 1
print "am terminat."
Exemplul 2 este putin mai complicat. Bucla while incrementeaza valoarea lui n de la 1 la 20, in timp ce instructiunea if verifica daca n este par. Aminteste-ti ca operatorul % calculeaza restul impartirii. In acest caz, daca este indeplinita conditia n % 2 = 0, inseamna ca n este par, deci valoarea lui va fi afisata.
'else' si 'elif' - Cand conditia nu este indeplinita
Sunt multe moduri in care poti utiliza instructiunea 'if'. Daca vrei sa specifici o actiune alternativa pentru cazul in care conditia nu este indeplinita, poti utiliza else si elif.'else' spune pur si simplu computerului ca sa faca in cazul in care conditia este false. De exemplu, citeste urmatoarele:
a = 1
if a > 5:
print "Asta nu trebuie sa se intample."
else:
print "Asta trebuie sa se intample."
'a' nu este mai mare decat cinci, deci va fi executat codul din ramura 'else'
'elif' este doar o modalitate mai scurta de a spune 'else if'. De exemplu:
z = 4
if z > 70:
print "Ceva rau s-a intamplat "
elif z < 7:
print "Asta e normal "
Instructiunea 'if' impreuna cu 'else' si 'elif' urmeaza acest tipar:
if {conditie 1}:
{executa acest cod}
elif {conditie 2}:
{executa acest cod}
elif {conditie 3}:
{executa acest cod}
else:
{executa acest cod}
'Ceea ce trebuie sa retii este ca poti avea oricate declaratii elif, dar o singura instructiune else, care trebuie pusa la sfarsit.
Un alt lucru foarte important este ca trebuie sa inchei cu : (doua puncte) fiecare linie ce contine if, elif, else sau while.
Indentarea codului
Indentarea codului este o practica intalnita in mai toate limbajele de programare, dar in Python este o necesitate. Aceasta inseamna ca daca o bucla 'while' contine 5 linii de cod, trebuie sa pui un anumit numar de spatii la inceputul fiecarei dintre cele cinci linii. Iata un exemplu:
a = 10
while a > 0:
print a
if a > 5:
print "a este mare!"
elif a % 2 != 0:
print "a este impar"
print "si mai mic sau egal decat 5"
else:
print "acest numar nu este mai mare decat 5"
print "si nu este impar"
a = a - 1
print "am decrementat a cu o unitate"
print "daca este mai mare ca 0, repetam bucla"
print "se pare ca a nu este mai mare ca 0"
print "bucla s-a terminat!"
Observa cele trei nivele de indentare:
- Fiecare linie din primul nivel incepe fara spatii. Este codul principal si va fi executat mereu.
- Fiecare linie din cel de-al doilea nivel incepe cu patru spatii. Cand exista un 'if' sau o bucla la primul nivel, tot ce se afla la al doilea nivel va fi considerat un singur bloc de cod, pana cand incepe o noua linie din primul nivel.
- Fiecare linie din cel de-al treilea nivel incepe cu 8 spatii. s.a.m.d
In afara de while, mai exista un tip de bucla denumita for, despre care vei putea citi in urmatoarele tutoriale.
|