Documente Academic
Documente Profesional
Documente Cultură
S5 - Introducere in Python
S5 - Introducere in Python
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))
2
Int sau integer reprezintă un număr întreg, pozitiv sau negativ, fără zecimale, de lungime
nelimitată.
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))
3
2.2.2 Șiruri de caractere
Sunt încadrate de “ ” sau ‘ ’. Ca în multe alte limbaje de programare, șirurile de caractere în
Python sunt considerate ca vectori.
Parantezele [ ] sunt utilizate pentru a accesa elementele șirului.
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
2.3.1 Liste – colecții de date care pot fi ordonate și modificate. De asemenea, listele permit
elemente identice.
Listele sunt reprezentate utilizând [ ].
Exemplu 22 Exemplu 23 Exemplu 24
Accesarea elementelor din Modificarea unui
Crearea și afișarea unei liste
listă se realizează prin index: element:
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"]
lista.pop()
print(lista)
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
Metoda Descriere
count() Returnează numărul de apariții al elementului în tuplu
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
7
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
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
8
- Scădere x-y
* Înmulțire x*y
/ Împărțire x/y
% Restul împărțirii x%y
** Exponențial x ** y
// Partea întreagă a împărțirii x // y
Atribuire
Comparatie
Logici
Identitate
9
Operator Descriere Exemplu
is Returnează True dacă x is y
ambele variabile sunt același
obiect
is not Returnează True dacă x is not y
ambele variabile nu sunt
același obiect
Apartenență
10
print(x) if x == "creion": if x == "creion":
if x == "creion": break continue
break print(x) print(x)
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
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'
11
Exemplu 51 Exemplu 52
str = input("Introduceti numele: "); x=int(input('Introduceti numarul:'))
print ("Numele introdus este : ", str) if x>0:
print('nr pozitiv')
else: print('nr este zero sau negativ')
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))
12
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
print(lista)
13
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:
14