



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 su matrice emessaggi
Tipologia: Prove d'esame
1 / 5
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




#Dizionario liste di liste matrici={} with open('file.txt') as f: for l in f: l=l.strip() if len(l)>0: s = l.split(',') riga = [int(s[i]) for i in range(1,len(s))] if s[0] in matrici: matrici[s[0]].append(riga) else: matrici[s[0]] = [riga] print(matrici)
#funzione per capire se 2 matrici hanno colonna uguale def colonnauguale4(m1, j1, m2, j2): if len(m1) != len(m2): return False for i in range(len(m1)): if m1[i][j1] != m2[i][j2]: return False return True def colonnauguale3(m1, m2, j2): for j in range(len(m1[0])): if colonnauguale4(m1, j, m2, j2): return True return False def colonnauguale2(m1, m2): for j in range(len(m2[0])): if colonnauguale3(m1, m2, j): return True return False #1. In questo punto chiamo A la prima matrice. Stampare tutte le matrici che abbiano #una colonna uguale ad una della matrice A with open('1.txt','w') as o: key= list(matrici.keys()) for i in range(1,len(key)): if colonnauguale2(matrici[key[0]], matrici[key[i]]): o.write(str(key[i]+' Ha un colonna uguale ad A\n'))
return False for j in range(len(m1[0])): if not colonnauguale3(m2,m1,j): return False for j in range(len(m2[0])): if not colonnauguale3(m1, m2, j): return False return True with open('4.txt','w') as o: key = list(matrici.keys()) for i in range (len(key)): for j in range(i+1,len(key)): if tutte_colonneuguali(matrici[key[i]], matrici[key[j]]): o.write(key[i] + ' = ' + key[j] + '\n') #5. Stampare le matrici sudoku (anche non quadrate), cioè quelle per cui la somma #di tutte le righe e di tutte le colonne ha lo stesso valore. def sudoku(m): s = sum(m[0]) for r in m: if sum(r) != s: return False for j in range(len(m[0])): sj = 0 for r in m: sj += r[j] #somma colonna j-esima if sj != s: return False return True
with open('5.txt','w') as o: for k, v in matrici.items(): if sudoku(v): o.write(k+ ' e' sudoku'+'\n')