Profilo di crazylory1261

Nome crazylory1261
Indirizzo email n/a
Messaggi1
  • [PROBLEMA][Script Python Dizionari e file ]
    Forum >> Principianti
    traccia dell'esercizio: Scrivi un programma che legga le parole da un file key.txt e le memorizzi come chiavi in un dizionario, Non importa quali valori sono associati alle chiavi.



    [il file su cui andrò ad operare sarà un file di testo]

    import random #importo la libreria random per usare il metodo randomint (vedi riga 25)
    
    
    def add_item(dizionario,chiave,valore):   
        dizionariochiave=valore
        return  None
    #la funzione add_item permette di aggiungere a un dizionario un iteam(insieme di una chiave e di un valore)
    
    try:
        file = open("key.txt","r")  #apro il file da cui leggo le chiavi
        dizionario = dict()    #creo un dizionario vuoto
        while True: 
            print("premi 0 per leggere una chiave dal file,"
                  "\npremi un qualsiasi altro testo per uscire dal programma")
            scelta=int(input("fai la tua scelta: "))
            if scelta == 0:
                chiave = file.readline() #leggo riga per riga il contenuto del file
                print("iL valore di chiave è: "+ chiave) #stampo il contenuto letto dal file
    
                if(chiave==""): # controllo se il valore letto corrisponde a un valore vuoto, in tal caso esco dal ciclo
                    print("file terminato. programma terminato")
                    break
                valore = random.randint(1, 220) #associo al campo valore del dizionario un numero random compreso tra 1 e 220
                
    
                add_item(dizionario,chiave,valore) #richiamo la funzione (vedi linea 12)
                print(dizionario) #stampo il dizionario
            elif scelta ==1:
                print("programma terminato")
                break;
        print(dizionario)
    
    except FileNotFoundError:
        print("File scelto non trovato")
    
    finally:
        file.close()





































    Problema:




    durante il "testing" di questo programma mi sono imbattuto in un errore che non riesco a risolvere:

    quando vado a stampare il dizionario praticamente la chiave di ogni elemento risulta terminare con il simbolo \n (cosa molto strana data che quando vado a stampare il valore

    di chiave risulta essere privo del carattere di escape \n. (L'output indesiderato è mostrato nell'immagine caricata)




    Molte grazie e perdonatemi la banalità del codice.





    output indesiderato: