Limbajul PYTHON
Tipuri de date/Variabile
Expresii/Operatii
Programe Iterative
Important!
• Python are tipuri de date standard, care sunt folosite pentru a defini
operațiile posibile pe ele și metodele pentru fiecare dintre ele.
https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-
long-complex
https://docs.python.org/3/library/math.html
Exemplu:
In[]:import math
In[]:x=[1,2,3,4,5]
In[]:math.fsum(x)
In[]:15.0
String- uri
Interpretor = evalueaza și printeaza
String-urile pot fi introduse între ghilimele: simple (') sau duble ("), sau
triple (asa ''' sau asa """)
In[]: type(‘3.2’)
In[]: print('''"Oh no", she exclaimed, "Ben's bike is broken!"''')
https://docs.python.org/3/library/stdtypes.html#string-methods
Exemplu:
In[]: "George Georgescu".upper()
In[]: ‘GEORGE GEORGESCU’
Expresii
Trebuie să manipulăm date cât mai complexe, deci trebuie să
combinăm aceste tipuri de date și să creeam expresii:
- Aritmetici
- Comparație
- Logici (sau relaționali)
- Atribuire
- Condiționare
Operatori Aritmetici
+ Adunare - adună valorile de pe fiecare parte a operatorului: a + b
- numeric și string
In[]: 3*’abc’ # rezultatul va fi ‘abcabcabc’
! = dacă valorile celor doi operanzi nu sunt egale, atunci condiția devine
adevărată
> în cazul în care valoarea operandului stâng este mai mare decât
valoarea operandului din dreapta, atunci condiția devine adevărată
> = în cazul în care valoarea operandului stâng este mai mare sau egală
cu valoarea operandului din dreapta, atunci condiția devine adevărată.
< în cazul în care valoarea operandului din stânga este mai mică decât
valoarea din dreapta, atunci condiția devine adevărată.
<= în cazul în care valoarea operandului stâng este mai mică sau egală
cu cea a operandului din dreapta, atunci condiția devine adevărată
Reprezentarea Float point
1/10
baza 10=1*10-1
baza2 = ? nu există un nr binar care să reprezinte aceasta fracție.
OR - În cazul în care oricare dintre cei doi operanzi sunt non zero,
atunci condiția devine adevărată.
In[]: True or True # True
In[]: True or False # True
In[]: False or True # True
In[]: False or False #False
()
**
NOT , AND , OR
* ,/ , // , %
+, -
len(‘Rezultat?’)*2**3/4
9*8 /4
Rezultatul final 18
Variabile
Variabilele sunt nume ptr obiecte, “care se referă la valori”
In[]: x=5
In[]: x=’abc’
Operatori de Asignare
= asignare simplă; asignează valoarea din partea dreaptă, valorii din
stanga operandului: c = a + b se va asigna valoarea a + b în c
X= 5 asignare simplă
X =Y =5 asignare multiplă
Exemplu:
In[]:X=10
In[]: X,Y= 20,X
In[]: print(X,Y)
20 10
Statements (declarații)
Statements comenzi pe care Python le interpretează și execută
x=15 x=int(input(‘x=’))
if ( x/2 )*2 == x : if x%2 == 0:
print(“par”) print(“par”)
else : else :
print(“impar”) print(“impar”)
if x%3 !=0:
print(“nu e divizibil cu 3”)
Condiționare – If, Else
Ce text va fi scris ?
Exemplu1: Exemplu2:
z=’b’ z=’b’
if ‘x’ < z: if ‘x’ < z:
print(“Buna”) print(“Buna”)
print(“Mama”) print(“Mama”)
Condiționare – If, Else
Ce text va fi scris ?
x=15
y=13
z=11
print(‘x=’,x,’y=’, y, ‘z=’,z)
if x< y:
if x<z:
print(“x e cel mai mic număr”)
else:
print(“z e cel mai mic număr”)
else:
print(“y e cel mai mic număr”)
x=15
y=13
z=11
print(‘x=’,x,’y=’, y, ‘z=’,z)
if x< y and x<z:
print(“x e mai mic”)
elif:
print(“y e mai mic”)
else:
print(“z e mai mic”)
Bucla While
O expresie logică trebuie să întoarcă una din valorile True sau False
Exemplu:
nr = 0
while nr < 9 :
print (' Numărul este:', nr)
nr = nr + 1
print (‘Gata, am terminat!’)
Bucla WHILE infinită / break
Următorul cod va contina pâna când veți tasta CNTL+c :
var=1
while var == 1 : # bucla infinită
nr = input("Introduceti un număr =")
print ("Ati introdus: ", nr)
x= int(input(‘Introduceti un nr =’))
ans =0 # initializez variabilele în afara buclei
while ans*ans < = x: # setez condiția de ieșire din buclă
ans=ans+1 # scriu setul de instrucțiuni
print (ans) # ce se va întampla dupa ce ies din buclă
for i in range(1,n) :
declarații
declarații
x=10 x=10
i=1 for i in range(1, x+1)
while i < x: if x%i==0:
if x%i==0: print(‘divizor’,i)
print(‘divizor’,i)
i=i+1
Scrieți codul Python pentru a afla dacă un număr este pătrat perfect
apoi modificați acest cod Python pentru a afla dacă un număr
(poate să fie și un nr negativ) este cub perfect.
Python: http://www.python.org/
Python Documentations: https://docs.python.org/3/
Python Tutorial https://docs.python.org/3/tutorial/
IPython: http://ipython.org/
Jupyter noNebook: https://jupyter.org/
NumPy: http://www.numpy.org/
SciPy: https://www.scipy.org/
Pandas: http://pandas.pydata.org/
Matplotlib -2D: http://matplotlib.org/
Mayavi - 3D:http://code.enthought.com/projects/mayavi/
Bibliografie