Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Prova d'esame di python sui messaggi, Esercizi di Fondamenti di informatica

Prova d'esame di python sui messaggi

Tipologia: Esercizi

2020/2021

Caricato il 29/04/2022

taytmaters
taytmaters 🇮🇹

18 documenti

1 / 4

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Da:Marco
A:Franco
Data:03-05-2021
Ciao
oggi sono a lezione.
Da:Marco
A:Franco
Data:03-05-2021
Finisco un po' prima delle
18
Da:Roberta
A:Marco
Data:03-05-2021
Ciao!
dati = []
with open('file.txt') as f:
for linea in f:
linea = linea.strip()
if linea.startswith('Da:'):
dati.append({'DA':linea.split(':')[1], 'TESTO':''})
elif linea.startswith('A:'):
#dati.append({'A': linea.split(':')[1]})
dati[-1]['A'] = linea[2:]#linea.replace('A:','')#linea.split(':')[1]
elif linea.startswith('Data:'):
dati[-1]['DATA'] = linea[5:]
else:
dati[-1]['TESTO'] += ' '+linea
for m in dati:
m['TESTO'] = m['TESTO'].strip()
#print(dati)
'''
dati = []
pf3
pf4

Anteprima parziale del testo

Scarica Prova d'esame di python sui messaggi e più Esercizi in PDF di Fondamenti di informatica solo su Docsity!

Da:Marco A:Franco Data:03-05- Ciao oggi sono a lezione. Da:Marco A:Franco Data:03-05- Finisco un po' prima delle 18 Da:Roberta A:Marco Data:03-05- Ciao! dati = [] with open('file.txt') as f: for linea in f: linea = linea.strip() if linea.startswith('Da:'): dati.append({'DA':linea.split(':')[1], 'TESTO':''}) elif linea.startswith('A:'): #dati.append({'A': linea.split(':')[1]}) dati[-1]['A'] = linea[2:]#linea.replace('A:','')#linea.split(':')[1] elif linea.startswith('Data:'): dati[-1]['DATA'] = linea[5:] else: dati[-1]['TESTO'] += ' '+linea for m in dati: m['TESTO'] = m['TESTO'].strip() #print(dati) ''' dati = []

with open('file.txt') as f: for linea in f: linea =linea.strip() #print(linea) if len(linea) > 0: if linea.startswith('DA:'): mess = {'DA':linea.split(':')[1],'TESTO': []} dati.append(mess) elif linea.startswith('A:'): mess['A'] = linea.split(':')[1] elif linea.startswith('DATA:'): mess['DATA'] = linea.split(':')[1] else: mess['TESTO'].append(' '+linea) print(dati) '''

7. Trovare la persona che scrive più messaggi

pers2numM = {} for m in dati: if m['DA'] in pers2numM: pers2numM[m['DA']] += 1 else: pers2numM[m['DA']] = 1 pers2numM = sorted(pers2numM.items(), key=lambda kv: kv[1]) #print(pers2numM[-1][0]) with open('7.txt','w',encoding='utf-8') as f: f.write('La persona che invia più messaggi è '+pers2numM[-1][0]) #1.Trovare la persona che comunica con il maggior numero di altre persone

marco --> [franco]

#4.Trovare la chat(persone e giorno es.Marco-Roberta:11-07-2017)in cui si sono scambiati più messaggi chat_mex = [] for diz in dati: chat_mex.append({'PERSONE': diz['DA']+'-'+diz['A'],'DATA':diz['DATA'],'N_MEX':len(diz['TESTO'])}) print(chat_mex) with open('4.txt','w')as f: mess_max = sorted(chat_mex, key= lambda x:x['N_MEX']) f.write(mess_max[-1]['PERSONE']+str(' : ')+ mess_max[-1]['DATA'])