Forum >> Principianti >> [PROBLEMA][Script Python Dizionari e file ]

Pagina: 1

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:








Pagina: 1



Esegui il login per scrivere una risposta.