crazylory1261
Profilo di
Nome | crazylory1261 |
---|---|
Indirizzo email | n/a |
Messaggi | 1 |
-
- 2019-10-09 20:41:18
- [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: