Files
exercitii/python/curs/curs4_array.py
T

215 lines
3.7 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Mar 11 14:12:41 2026
@author: alex
"""
# lista
x1 = 3
x2 = 7
x3 = 10
x4 = 12
print (x1 + x2 + x3 + x4)
valori = [3,7,10,12]
print(sum(valori))
# tipuri: liste, tuple, set ,dictionar
# lista col ord mod; tuple col ord nemod
# set col fara duplicate
# dic - map C++
# ordonate =/= sortate; pastreaza ordinea data
# lista -> vector nr. ex
note = [7,8,9,10]
print(note)
date = [3,4.5,"Ana"]
print(date)
print(note[0])
print(note[2])
print(note[-1])
print(note[-4])
note = [7, 8, 9]
note[1] = 10
print(note)
valori = [1,2,3]
valori.append(4)
print(valori)
valori.remove(2) # sterge 2 din lista, nu indexul 2
print(valori)
x = valori.pop() # scoate ultimul si da return
print(x)
print(valori)
note = [7,8,9,10]
for n in note:
print(n)
# Exercitii
#1
lista = []
for i in range(1,11):
lista.append(i)
print(sum(lista))
print(lista)
elemente = [2, 5.6, "Text"]
print(elemente[-1])
print(elemente[-2])
elemente[-1] = 7
print(elemente[-1])
#Tuple
#paranteze rotunde, nu se modifica, pot avea oricate elemente
punct = (2,5)
data = ( 15, 3, 2005)
culoate = (0,0,0)
#accesarea
print(data[0])
print(data[1])
print(data[2])
punct=(2,5)
#punct[0] = 1 EROARE
def impartire(a,b):
cat = a // b
rest = a % b
return(cat,rest)
print(impartire(2,3))
coordonate = (2,5)
print(coordonate)
print(f"abscisa: {coordonate[0]}, ordonata: {coordonate[1]} ")
c = (5, coordonate[1])
coordonate = c
coordonate = (coordonate[0], 3)
print(coordonate)
#Seturi
#fara duplicate, ordine neimportatnta, operatii cu multimi
A = {1,2,3,3,4}
print(A)
A = {1,2,3}
B = {3,4,5}
print(A | B) #reuniune
print(A & B) #intersect
print(A - B) #dif
cuvant = "matematica"
litere = set(cuvant)
print(litere) #ordinea nu se pastreaza
litere1 = set("matematica")
litere2 = set("informatica")
print(litere1)
print(litere2)
print(litere1 | litere2)
print(litere1 & litere2)
print(litere1 - litere2)
print(litere2 - litere1)
#Dictionar
# cheie -> val
note = {
"Ana": 10,
"Ion": 8,
"Maria": 9
}
print(note["Ana"])
note = {"Ana": 10, "Ion": 8}
note["Maria"] = 9
note["Ion"] = 10
print(note)
for nume, nota in note.items():
print(nume,nota)
note = [7,8,9,10]
print(len(note)) # lungime
print(8 in note) # search function
print(5 in note)
valori = [10,20,30,40,50,60]
print(valori[1:4]) #slicing; ultima val nu e inclusa
print(valori[:3])
print(valori[3:])
print(valori[::2]) #din 2 in 2 (al 3lea parametru)
note = [7,8,9,10]
for n in note: # i.e. for each
print(n)
for i in range(len(note)): # for range
print("index =", i, "valoare = ", note[i])
for i, x in enumerate(note): # echivalent cu ^
print(i, x)
#sort + reverse
valori = [7,2,9,1,5]
valori.reverse()
print(valori)
valori.sort()
print(valori)
valori.reverse()
print(valori)
# = sorted()
valori = [7,2,9,1,5]
copie_sortata = sorted(valori)
print(valori)
print(copie_sortata)
print(valori.count(2))
print(valori.count(3))
print(valori.index(2))
note = {"Ana": 10, "Ion":8 }
print(note.keys())
print(note.values())
print(note.items())
print("Ana" in note)
print("Maria" in note)
valori = [10,20,30]
#print(valori[3]) EROARE in afara listei
note = {"Ana": 10, "Ion":8 }
#print(note["Maria"]) EROARE pt. ca cheia nu exista in dictionar
a = {} #nu creaza multime vida; ci dic vid
b = set() #creaza multime vida
print(type(a))
print(type(b))
note =[7,8,9,10]
media = sum(note) /len(note)
print(media)
valori = [1,2,2,3,4,4,4,5] #transforma lista in set, i.e se elimina duplicate
distincte = set(valori)
print(distincte)
tabel = {} # asociaza elemente din domeniu in codomeniu
for x in range (-2,3): # util pentru functii ex. x -> x^2 + 1
tabel[x] = x*x +1
print(tabel)