Pentru IDE:
Linkuri utile:
Documentație: https://www.python.org/about/gettingstarted/
https://www.tutorialspoint.com/python/index.htm
https://www.w3schools.com/python/default.asp
Exemple: https://www.programiz.com/python-
programming/examples
Pachete: https://pip.pypa.io/en/stable/installing/
Rezolvări: https://stackoverflow.com
1
2. Elemente de programare: tipuri de date, variabile. tipuri de variabile, operatori, vectori,
structuri alternative si repetitive.
2.1 Variabile
În Python, variabilele sunt case-sensitive.
Denumirea variabilelor trebuie să înceapă cu o literă sau underscore (nu cu un număr) și poate
conține numai caractere alfanumerice: de la A-z, 0-9, și _.
Spre deosebire de alte limbaje, în Python variabilele nu se declară explicit, fiind necesar să i se
atribuie valoare.
2.2 Tipuri de date
2.2.1 Numeric
int
float
complex
Exemplu 3 Exemplu 4
Pentru numere, + acționează ca operator Însumarea unui număr cu un șir de
matematic: caractere, duce la eroare: TypeError:
unsupported operand type(s) for +:
'int' and 'str'
x=5 x=5
y = 10 y = "Python"
print(x + y) print(x + y)
Exemplu 5 Exemplu 6
Variabile de tipul numeric sunt create atunci Pentru a verifica tipul de data in Python
cand li se atribuie valoare. Nu necesita utilizam functia type():
declarare.
x = 1 # int print(type(x))
y = 2.8 # float print(type(y))
z = 1j # complex print(type(z))
Int sau integer reprezintă un număr întreg, pozitiv sau negativ, fără zecimale, de lungime
nelimitată.
2
Exemplu 7
x=1
y = 35656222554887711
z = -3255522
print(type(x))
print(type(y))
print(type(z))
Float reprezintă un număr pozitiv sau negativ, cu una sau mai multe zecimale.
Exemplu 8 Exemplu 9
x = 1.10 x = 35e3
y = 1.0 y = 12E4
z = -35.59 z = -87.7e100
print(type(x)) print(type(x))
print(type(y)) print(type(y))
print(type(z)) print(type(z))
Numerele complexe complex conțin "j" care desemnează partea imaginară.
Exemplu 10
x = 3+5j
y = 5j
z = -5j
print(type(x))
print(type(y))
print(type(z))
Specificarea tipului de dată pentru o variabilă
Atunci când se dorește specificarea tipului de dată pentru o variabilă, utilizăm următorii
constructori:
int() - construiește un număr întreg dintr-un număr întreg, un număr cu zecimale (prin
eliminarea zecimalelor) sau un șir de caractere (când șirul reprezintă un număr întreg);
float() - construiește un număr cu zecimale dintr-un număr întreg, un număr cu
zecimale sau un șir de caractere (când șirul reprezintă un număr întreg sau un număr cu
zecimale);
str() - construiește un șir de caractere dintr-o varietate de tipuri de date, incluzând
șiruri de caractere, numere întregi și numere cu zecimale.
Exemplu 11 Exemplu 12 Exemplu 13
x = int(1) # x will be 1 x = float(1) # x will be 1.0 x = str("s1") # x will be 's1'
y = int(2.8) # y will be 2 y = float(2.8) # y will be 2.8 y = str(2) # y will be '2'
z = int("3") # z will be 3 z = float("3") # z will be 3.0 z = str(3.0) # z will be '3.0'
w = float("4.2") # w will be 4.2
3
Exemplu 14 Exemplu 15 Exemplu 16 Exemplu 17
Obținerea Extragerea unui Metoda strip() Metoda len()
caracterului de la subșir. Obținerea elimină spațiile: returnează lungimea
poziția 1 (primul caracterelor de la șirului:
caracter are poziția poziția 2 to 5
0): (exclusiv):
a = "Seminar Mongo b = "Seminar Mongo a=" Seminar a = "Seminar Mongo
DB" DB" Mongo DB" DB"
print(a[1]) print(b[2:5]) print(a.strip()) print(len(a))
# returns "Seminar
Mongo DB"
print(a)
4
lista = ["laptop", "creion", lista = ["laptop", "creion", lista = ["laptop", "creion",
"flipchart"] "flipchart"] "flipchart"]
print(lista) print(lista[1]) lista[1] = "carioca"
print(lista)
Exemplu 25
Exemplu 26
Exemplu 27
Metoda pop() elimină elementul de la indexul specificat sau ultimul element în cazul în care
indexul nu este specificat:
5
lista = ["laptop", "creion", "flipchart"]
del lista
print(lista) #apare o eroare deoarece lista nu mai există
Metoda Descriere
append() Adaugă un element la sfârșitul listei
clear() Elimină toate elementele listei
copy() Crează o copie a listei
count() Returnează numărul de apariții al elementului în listă
extend() Adăugă elemente la sfârșitul unei liste
index() Returnează indexul unui element
insert() Adaugă un element la poziția specificată
pop() Elimină elementul de la poziția specificată
remove() Elimină elementul specificat
reverse() Inversează ordinea elementelor în listă
sort() Sortează lista
2.3.2 Tupluri – colecții de date ordonate și nemodificabile. Tuplurile permit elemente identice.
Tuplurile sunt reprezentate utilizând ( ).
Metoda Descriere
count() Returnează numărul de apariții al elementului în tuplu
6
index() Returnează poziția unui element în tuplu
2.3.3 Seturi – colecții de date neordonate și neindexate. Nu sunt acceptate elemente identice.
Seturile sunt reprezentate prin { }.
Exemplu 31
Crearea și afișarea unui set (fiind elemente neordonate, afișarea este aleatoare):
set = {"laptop", "creion", "flipchart"}
print(set)
Accesarea elementelor din set nu este posibilă, dar elementele pot fi parcurse cu for sau
poate fi verificată existența unui element cu in.
Nu pot fi modificate elementele unui set, însă pot fi adăugate elemente noi cu metoda add().
Metoda Descriere
add() Adaugă un element
clear() Elimină toate elementele setului
copy() Returnează o copie a setului
difference() Returnează un set reprezentând diferența dintre două
sau mai multe seturi
difference_update() Elimină elementele dintr-un set care sunt conținute
și de un alt set specificat
discard() Elimină un element specificat
intersection() Returnează un set reprezentând intersecția a două
seturi
intersection_update() Elimină elementele dintr-un set care nu sunt
prezente în alt set (seturi) specificat(e)
isdisjoint() Arată dacă două seturi se intersectează sau nu
issubset() Arată dacă un set este inclus într-un alt set sau nu
issuperset() Arată dacă un set conține un alt set sau nu
pop() Elimină elementul specificat
remove() Elimină elementul specificat
symmetric_difference() Returnează un set reprezentând diferența simetrică a
două seturi
symmetric_difference_update() Inserează diferențele simetrice dintre două seturi
union() Returnează un set reprezentând reuniunea a două
seturi
update() Actualizează setul cu reuniunea dintre un set și altele
7
Accesarea elementelor din Modificarea unui element
Crearea și afișarea unui
dicționar se realizează prin din dicționar se
dicționar:
cheie (sau prin metoda realizează prin cheie:
get()):
Metoda Descriere
clear() Elimină toate elementele din dicționar
copy() Returnează o copie a dicționarului
fromkeys() Returnează un dicționar cu chei valori specificate
get() Returnează valoarea pentru o anumită cheie
items() Returnează o listă conținând un tuplu pentru fiecare pereche cheie valoare
keys() Returnează o listă conținând cheile dicționarului
pop() Elimină elementul având o anumită cheie specificată
popitem() Elimină ultima pereche adăugată cheie valoare
setdefault() Returnează valoarea pentru o cheie specificată. Dacă cheia nu există, o
adaugă
update() Actualizează dicționarul cu perechile cheie-valoare specificate
values() Returnează o listă cu toate valorile dicționarului
2.4 Operatori
Aritmetici
Atribuire
8
/= x /= 3 x=x/3
%= x %= 3 x=x%3
//= x //= 3 x = x // 3
**= x **= 3 x = x ** 3
&= x &= 3 x=x&3
|= x |= 3 x=x|3
^= x ^= 3 x=x^3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3
Comparatie
Logici
Identitate
Apartenență
9
specificată este prezentă în
obiect
not in Returnează True dacă o x not in y
secvență cu o valoare
specificată nu este prezentă
în obiect
Exemplu 42. Funcția range() returnează o Exemplu 43. Clauza else se execută când se
secvență de numere de la 0 la 5 termină for
for x in range(6): for x in range(6):
print(x) print(x)
else:
for x in range(2, 6):
print("S-au afisat numerele")
print(x)
for x in range(2, 30, 3):
print(x)
10
Exemplu 44. Nested loop
lista = ["laptop", "creion",
"flipchart"]
culori = ["rosu", "galben", "verde"]
for x in lista:
if x =='creion' or x =='flipchart':
for y in culori:
print(x, y)
while
O funcție se definește prin intermediul lui def. Funcția my_function, având parametru
implicit 100
Exemplu 48 Exemplu 49 Exemplu 50
def my_function(x): def my_function(x = 100): def my_function(x,
result = x**2 result = x**2 n):
print (result) print (result) result = x**n
return result return result print (result)
my_function() my_function(5) return result
TypeError: my_function() my_function(4,2)
missing 1 required
positional argument: 'x'
Funcția lambda este o funcție simplă, anonimă poate avea mai mulți parametri și o singură
expresie, retunând rezultatul expresiei.
Exemplu 53 Exemplu 54 Exemplu 55
x = lambda a : a + 10 x = lambda a, b : a * b x = lambda a, b, c : a + b + c
print(x(5)) print(x(5, 6)) print(x(5, 6, 2))
print(x(23))
11
Exerciții
1. Să se citească un număr n < 10, să se creeze o listă de numere întregi de dimensiune n și să
se adauge elementele citite de la tastatură. Să se ordoneze crescător elementele listei și să se
afișeze lista.
n=int(input('Introdu numarul de elemente: '))
lista=[]
if n < 10:
for x in range(n):
x = int(input('Introdu elementul: '))
lista.append(x)
else: print('Numar prea mare (n<10). Reintroduceti numarul')
print(lista)
lista.sort()
print(lista)
list.sort(reverse=True|False, key=myFunc)
reverse Optional. reverse=True will sort the list descending. Default is reverse=False
def lungime(e):
return len(e)
print(lista)
12
for r in lista_angajati:
if lista_angajati.count(r) > 1:
print(r)
5. Să se creeze o listă de dicționare cu următoarele chei: id, nume și salariul pentru următorii
angajați:
lista = [{"id":1, "nume":"Popescu", "salariul":5000}, {"id":2, "nume":"Ionescu",
"salariul":4000}, {"id":3, "nume":"Vasilescu", "salariul":6000}]
Dacă angajații au salariul mai mic decât 5000, să se majoreze cu 10%.
lista = [{"id":1, "nume":"Popescu", "salariul":5000}, {"id":2, "nume":"Ionescu",
"salariul":4000}, {"id":3, "nume":"Vasilescu", "salariul":6000}]
cu următoarele chei: id, nume
for dict in lista:
13