RISOLTO esercizio python

Stato
Discussione chiusa ad ulteriori risposte.

frame888

Nuovo Utente
58
2
stavo svolgendo un esercizio avente questa richiesta:

Scrivere una funzione che riceve in ingresso il nome di un file di testo contenente, per ogni riga, una serie di numeri interi separati da virgola, e restituisce un dizionario che ha come chiavi i numeri che appaiono nel file e come valori degli insiemi tali che per ciascuna chiave k l’insieme associato contenga il numero di riga di ciascuna riga del file in cui appare k. Assumete che le righe del file siano numerate a partire da 1. Se il file è vuoto la funzione deve restituire un dizionario vuoto. Ad esempio se file contiene
10,-5,-5,0
10,-5,8,-3
la funzione deve restituire:
{10: {1,2}, -5: {1,2}, 0: {1}, 8: {2}, -3: {2}}

Io ho risolto l'esercizio nel seguente modo ma mi da errore, SAPETE DIRMI COSA SBAGLIO?
Python:
    f=open(file,encoding='UTF-8')
    d={}
    count=0
   
    for riga in f:
        count+=1
        mimi=riga.strip().split(',')
        for elem in mimi:
            if elem in d:
                d[elem]=d[elem].add(count)
            else:
                d[elem]=set()
                d[elem].add(count)

    return d
ho risolto il problema con il codice:
Python:
f=open(file,encoding='UTF-8')
    d={}
    count=0
   
    for riga in f:
        count+=1
        mimi=riga.strip().split(',')
        for elem in mimi:
            cici=int(elem)
            if cici in d:
                 d[cici].add(count)
            else:
                d[cici]=set()
                d[cici].add(count)

    return d
spero possa essere utile a qualcuno
 
Ultima modifica da un moderatore:

Mursey

Super Moderatore
Staff Forum
Utente Èlite
8,244
5,674
Grazie per aver condiviso la soluzione.
La prossima volta però usa il tag code, leggi qui.
 
Stato
Discussione chiusa ad ulteriori risposte.

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili