

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
Prova d'esame Python sui interessi
Tipologia: Esercizi
1 / 2
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!


Marco,Mamei,Computer:5/10:Web:6/9:Computer:4/8:Auto:5/ Matteo,Mamei,Computer:10/10:Vacanza:6/ Sara,Rossi,Corsa:10/10:Nuoto:3/6:Jogging:7/8:Sci:4/ from fractions import Fraction d = {} with open('file.txt')as f: for l in f: l=l.strip() if len(l)>0: nome =l.split(',')[0] cognome =l.split(',')[1] s = l.split(',')[2] #print(s) t = s.split(':') #print(k) interessi = [t[i] for i in range(0,len(t),2)] percentuali = [] for i in range(1, len(t), 2): primoNum = l.split(':')[i].split('/')[0] secondoNum = l.split(':')[i].split('/')[1] percentuale = float(int(primoNum) / int(secondoNum)) percentuali.append(percentuale) if nome and cognome in d: d[nome+cognome].append([interessi,percentuali]) else: d[nome+cognome] = [interessi,percentuali] print(d) for k, v in d.items(): print(k, '--->', v) #2.Per ogni persona stampare la media dei valori di tutti i suoi interessi attività interessi_p = {}
for k,v in d.items(): interessi_p[k] = v[1] print(interessi_p) with open('2.txt','w')as f: for k,v in interessi_p.items(): somma = 0 for i in v: somma += i f.write(k+' --> '+str(Fraction(somma/len(v)).limit_denominator())) f.write('\n') #1.Stampare le persone associate ad almeno 3 interessi distinti int_no_dup = {} #interessi non duplicati for k,v in d.items(): no_dup = set(v[0]) int_no_dup[k] = list(no_dup) print(int_no_dup) with open('1.txt','w')as f: f.write('Le persone associate ad almeno 3 interessi distinti sono: ') f.write('\n') for k,v in int_no_dup.items(): if len(v) >= 3: f.write(k) f.write('\n') #4.Ordinare le persone da quella con più interessi/attività a quella con meno interessi/attività #Gli interessi ripetuti valgono 1 with open('4.txt','w')as f: ordine = sorted(int_no_dup.items(), key = lambda x:len(x[1]), reverse = True) print(ordine) for t in ordine: f.write(t[0]) f.write('\n'