



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
esercizi di python per esame base
Tipologia: Esercizi
1 / 7
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




'''esercizio 1''' #la tupla è un oggetto del tipo (a,b) si usa per una coppia di elementi es. coordinate di un punto (0, 3) def spacchetta(lista): #crea una nuova lista vuota, che poi restituirà alla fine listaritorno = [] #controlla se la lista in input è vuota if len(lista) == 0: #se è vuota restituisce l'errore "lista vuota" raise ValueError("la lista è vuota") #assegna alla variabile d la lughezza della prima tupla nella lista d = len(lista[0]) #scorre tutte le tuple nella lista for tupla in lista: #se trova una tupla di lunghezza diversa dalla prima... if len(tupla) != d: #...restituisce l'errore "le tuple non hanno stessa lunghezza" raise ValueError("le tuple non hanno stessa lunghezza") #scorre da 0 a d (per tutta la lunghezza delle tuple) for i in range(0,d): #crea una nuova lista parziale (vuota) che si azzera ogni volta che cambi valore (sempre tra 0 e d) listaparziale = [] #scorre tutte le tuple nella lista e... for tupla in lista: #...per ogni tupla aggiunge alla lista parziale l'elemento i-esimo della tupla listaparziale.append(tupla[i]) #aggiunge, la lista parziale che si è creta (contenente quindi gli elementi all'i-esima posizione di ognuna delle tuple)alla lista di ritorno finale listaritorno.append(listaparziale) #restituisce la lista return listaritorno '''esercizio 2''' import numbers def ismatrix(A): #assegna alla variabile lunghezza1, la lunghezza del primo elemento della lista A lunghezza1 = len(A[0]) #se la lunghezza del prmio elemento è uguale a 0... if lunghezza1 == 0: #restituisci falso return False #per ogni riga nella lista a.. for riga in A: #..controlla se la lunghezza della riga è diversa dalla lunghezza della prima riga.. if len(riga) != lunghezza1: #... se è cosi restituisce falso
return False #per ogni elemento nella riga.. for elemento in riga: #controlla se l'elemento è float(es 0.12 oopure 3.3, con la virgola) if isfloat(elemento) == False: #se non è float restituisce falso return False #se nessuna della condizioni precedenti ha restituisto falso, restituisci true, cioè la lista in input è una matrice return True def isfloat(x): #se il tipo dell'input è float... if type(x) == float: #restituisci true return True #altrimenti.. else: #false return False def size(A): #riutilizza la funzione di prima ismatrix(A) per stabilire se la lista in input è una matrice.. if ismatrix(A) == False: #se non è una matrice restituisce l'errore raise ValueError("non è una matrice") #assegna alla variabile ncolonne la lunghezza del primo elemento della lista ncolonne = len(A[0]) #assegna alla variabile nrighe la lunghezza della lista #una lista [[0,1,2,5]
elementi (3) definisce il numero delle righe, e la lughezza del primo elemento (4) definisce il numero delle colonne nrighe = len(A) #restituisce una tupla in cui il primo elemento è il numero delle righe e il secondo elemento è il numero delle colonne return (nrighe, ncolonne) def zeromatrix(r,c): #dati due numei in input controlla se sono negativ if r<=0 or c<=0: #se sono negative restituisce l'errore raise ValueError("non si possono avere righe e colonne negative") #crea una matrice vuota matrice = [] #cra una matrice di tutti 0.0 per il numero di righe e colonne dato #per fare questo si usa un doppio for (poichè le matrici in
riga[i]=v*riga[i] #restituisci la matrice risultante return A def matrixsum(A,B): #se una delle due matrici in input non è una matrice if not ismatrix(A) or not ismatrix(B): #restituisci l'errore raise ValueError("A o B non è una matrice") #se le due matrici hanno dimensioni diverse if size(A) != size(B): #restiuisci l'errore raise ValueError("A e B hanno dimensioni diverse") #crea una nuova matrice di tutti zeri con le dimensioni di A per righe e colonne matricesomma = zeromatrix(size(A)[0], size(A)[1]) #per tutte le righe di A for i in range(0, len(A)): #per tutte le colonne di A for j in range(len(A[0])): #alla matrice somma, per ogni posizione, aggiunge l'elemento di A + l'elemento di B matricesomma[i][j]=A[i][j]+B[i][j] #restituisce la matrice somma return matricesomma def mult(A,B): #assegna alla variabile listaA una tupla (numero righe, numero colonne) della matrice A listA=size(A) #stesso su B listB=size(B) #controlla se le colonne di a, sono uguali alle righe di B if not listA[1]==listB[0]: #se NON è così restiuisce l'errore raise ValueError('non è possibile e seguire il prodotto') #crea una nuova matrice Bt,che è la trasposta si B Bt=transpose(B)
C=[] #per ogni riga in A for rigaA in A: #crea una nuova lista vuota rigaC (che si azzera per ogni nuova riga di A) rigaC = [] #per ogni riga nella trasposta di B for rigaBt in Bt: #inizializza un elemento e un contatore per ogni riga di Bt (che si azzerano ad ogni nuova riga) elemento= contatore= #per ogni elemento nella riga di A
for elementoA in rigaA: #l'elemento inizializzato prima diventa il prodotto tra la riga di A e la riga di Bt elemento += (rigaA[contatore]*rigaBt[contatore]) #e aumenta il contatore contatore += 1 #alla riga di C aggiungi l'elemento prodotto rigaC.append(elemento) #a C aggiungi la riga di C che contiene tutti i prodotti C.append(rigaC) return C '''esercizio 3''' def conteggiotesto(testo, lunghezza):
testominuscolo = testo.lower()
nonalpha='' for lettera in testominuscolo: if not lettera.isalpha() and lettera not in nonalpha: nonalpha = nonalpha + lettera for lettera in nonalpha: testominuscolo = testominuscolo.replace(lettera, ' ')
testominuscolo a = testominuscolo.split()
(lunghezza) lista=[] for parola in a: if len(parola) == lunghezza and parola not in lista: lista.append(parola) return len(lista) import os import errno def conteggiofile(nome_file, lunghezza, encoding='utf-8-sig'): f=open(nome_file,encoding='utf-8-sig') testo=f.read()
testominuscolo = testo.lower()
nonalpha='' for lettera in testominuscolo: if not lettera.isalpha() and lettera not in nonalpha: nonalpha = nonalpha + lettera
q2 = cursMusica.execute("SELECT * FROM albums") names = [description[0] for description in q2.description] def query3(a,b): query = " SELECT DISTINCT ar.Name, count(al.ArtistId) FROM artists ar INNER JOIN albums al ON ar.ArtistId = al.ArtistId GROUP BY ar.ArtistId HAVING count(al.ArtistId) >= " + str(a) + " AND count(al.ArtistId)<= " + str(b) + " ORDER BY count(al.ArtistID) DESC, ar.Name" return cursMusica.execute(query).fetchall()