Documente Academic
Documente Profesional
Documente Cultură
MMSM I - Laborator#2 - 2022 - 2023
MMSM I - Laborator#2 - 2022 - 2023
4. ELEMENTE DE PROGRAMARE
4.1. Construct
, ia if
if conditie :
blocul de instructiuni 1
,
blocul de instructiuni 2
,
execut blocul de instructiuni 1 (care trebuie indentat) urmat de blocul de instructiuni 2 dac
, ,
conditie întoarce T rue. Dac conditie întoarce F alse, se execut doar blocul de instructiuni ,
programului. Constructia if poate urmat de una sau mai multe constructii elif (prescurtarea
, ,
de la ”elseif ”)
elif conditie :
blocul de instructiuni 1
,
else :
blocul de instructiuni 1
,
se foloseste pentru a executa blocul de instructiuni 1 în cazul în care nici una din clauzele if −elif
, ,
nu sunt adev rate.
Forma general a constructiei if − elif − else
,
if conditie 1 :
blocul de instructiuni 1
,
elif conditie 2 :
blocul de instructiuni 2
,
elif conditie 3 :
pass
else :
blocul de instructiuni 3
,
blocul de instructiuni 4
,
comanda pass.
4.2. Construct
, ia f or
f or contor in element iterabil :
blocul de instructiuni 1
,
1
Variabila contor ia valori rând pe rând din elementul iterabil. elementul iterabil poate orice
m rime ordonat , cum ar o list , un tuplu, un dictionar, un sir de numere generat de functia
, , ,
range, etc.
4.3. Instruct
, iunea continue
La ecare iteratie a buclei f or se execut blocul de instructiuni 1. Dac conditie 1 este T rue
, ,
se trece la urm toarea iteratie. În cazul în care conditie 1 devine F alse se execut blocul de
,
Exemplul #1
1 x = [] #C r e e a z o list goal
6 print (x)
4.4. Instruct
, iunea break apelat în bucla f or
if conditie 1 :
break
blocul de instructiuni 2 ,
else :
blocul de instructiuni 3 ,
blocul de instructiuni 4 ,
Clauza else poate folosit imediat dup bucla f or (la acelasi nivel) dac bucla f or este însotit , ,
de instructiunea break . blocul de instructiuni 3 este executat dac si numai dac conditie 1 nu
, , ,
a luat valoare T rue la nici o iteratie a buclei f or astfel c nu s-a ajuns la executia instructiunii
, , ,
break . Dac conditie 1 returneaz T rue se iese din bucla f or si se trece la executia blocului de , ,
instructiuni 4.
,
Exemplul #2 Urm toarea secvent de instructiuni veric dac un num r este prim sau nu.
, ,
1 y=37
2 for x in range (2 , y ) :
2
3 if y%x == 0:
5 break
6 else :
4.5. Construct
, ia while
while conditie:
blocul de instructiuni 1 ,
blocul de instructiuni 2
execut blocul de instructiuni 1 dac conditie returneaz T rue. Dup ce corpul de instructiuni
, ,
a fost executat conditie este vericat din nou. Procesul continu pân când conditie devine
F alse. Se continu cu executia blocului de intructiuni 2. , ,
Exemplul #3 Mai jos avem un exemplu care va rula la innit dac nu se intervine din exterior.
Executia se opreste prin combinatia de taste ctrl + C .
, , ,
1 while True :
Obs.: Ca si în cazul buclei f or, r mân valabile clauzele else, continue si break având aceeasi
, , ,
sintax .
5. FUNCT
, II
O functie Python poate denit oriunde în program înainte de a efectiv folosit . Sintaxa
,
def nume(argumente) :
corpul functiei
return variabile
Exemplul #4 Urm toarea secvent calculeaz suma a dou numere si returneaz suma lor.
, ,
1 def suma ( a , b ) :
2 c = a ** 2 + b
3 return c
4 p r i n t ( suma ( 1 , 2 ) )
Dac apelul functiei se face prin valorile parametrilor, atunci rezultatul depinde de ordinea
,
scrierii acestora. Dac îns functia este apelat atât cu numele parametrilor cat si cu valorile
, ,
1 p r i n t ( suma ( b = 3, a = 4) )
În cazul în care vrem s atribuim unui parametru o valoare implicit , în lista de parametri ai
functiei vom atribui parametrului valoarea corespunzatoare, folosind operatorul de atribuire. La
,
3
1 def a r i a _ c e r c (R, p i = 3.14) :
2 aria = pi * R ** 2
3 return aria
Dac dorim s redenim parametrul pi cu o valoare mai exact , la apelul functiei în lista cu ,
În cazul în care nu stim apriori câte argumente vor transmise functiei, putem adauga ∗ înainte ,
de parametru. Astfel, functia va primi un tuplu de argumente si va avea acces la valorile acestuia.
, ,
1 def suma_n ( * a) :
2 n = len (a)
3 s = 0
5 s = s + a[ i ]
6 print ( s )
7 print (a)
8 suma_n ( 1 , 2 , 3 , 4 , 5 , 6 )
Dac se doreste a se folosi la un loc parametrii obligatorii si cu cei arbitrari, atunci acestia din
, , ,
3 s = 0
5 s = s + b[ i ]
6 s = s + a
7 print ( s )
10
Primul argument corespunde parametrului a, iar restul valorilor sunt atribuite tuplului de argu-
mente b.
Dac expresia unei functii este simpl o vom deni folosind sintaxa lambda.
,
1 c = lambda x,y : x ** 2 + y ** 2
2 print ( c (3 ,4) )