Ho cominciato da pochissimo(5 giorni circa) ad usare python (premetto che è la mia prima esperienza di programmazione) e sono alle prese con un esercizio che trovo un po ostico:
Ho due file di testo, uno con dei codici numerici in colonna, e l'altro con codici numerici e rispettivi nomi corrispondenti del tipo
file A : file B
1 1:casa
2 2:automobile
3 3: computer
4 4
5
6
il file b contiene circa 2000 codici il file a circa un centinaio (ovviamente non sono ordinati tra loro)
il mio esercizio consiste nello scrivere un terzo file C che contenga i codici presi dal file A e i nomi corrispondenti a quei codici presi dal file B
nel mio ragionamento ho pensato di usare i dizionari e il ciclo for, questo è il codice che ho scritto:
f=open("C:\Python23\fileB.73", "r")
f1=open("C:\Python23\fileA.txt", "r")
f2=open("C:\Python23\fileC.73", "w")
dizionario={}
while 1 :
r=f1.readline()
s=f.readline()
if s=="" or r=="":
break
else:
import string
x=string.split(s)
chiave=x[0]
valore=x[1:10]
dizionario[chiave]=valore
y=string.split(r)
z=y[0]
for z in dizionario:
print dizionario[chiave]
i miei prblemi sono: a) se uso l'istruzione write mi dice che non si possono scrivere i dizionari nei file ma solo interi o stringhe
b)usando l'istruzione print per vedere come va il codice mi stampa a schermo il dizionario in loop e non capisco perche dato che ho inserito break.c) NON riesco ad ottenere lo scopo del mio esercizio
Qualche consiglio? Grazie in anticipo