Forum >> Principianti >> Lettura file .txt

Pagina: 1

Salve, vorrei sottoporvi un esercizio che non riesco a risolvere. Premetto che per ordini del professore uso la versione 3.7.4 e il testo è il seguente:
Un file di nome corsi.txt contiene le seguenti informazioni di un certo corso di studi triennale: nome, numero di crediti, anno di corso (codificato in cifre romane: I, II, III), semestre (codificato anch'esso in cifre romane: I, II) e numero di ore di lezione. Le informazioni su ogni insegnamento sono suddivise in due righe: il nome nella prima, tutte le altre nella seconda. Scrivere un programma che chieda all'utente di inserire l'anno di corso a cui è interessato (in cifre romane) e stampi sullo schermo il nome e il numero di crediti di ciascun insegnamento di tale anno.




Grazie
Ciao caro, ma grazie di cosa esattamente?

Non risolveremo il tuo esercizio, altrimenti a te non serve a nulla.

Inizia per gradi, approccia un problema alla volta e chiedi un aiuto per un aspetto specifico, e questo ti verrà dato.

L'esercizio serve per farti imparare, non per altro.

Torna vittorioso.
Cya
Ovviamente ho già provato a risolvere l'esercizio ma ho diversi problemi. Ho fatto anche alcune ricerche su internet per capire meglio ma non si affronta nello specifico il mio dilemma. Il mio problema sta nel fatto che facendo la ricerca ad esempio di I (primo anno) il programma mi restituisce ogni I maiuscola, dunque ho provato a concatenare "Anno: "+I ma ancora sussiste il problema e inoltre non riesco a stampare la riga delle materie, ma solo la riga specifica in cui c'è l'anno. Se è possibile mi farebbe piacere una mano d'aiuto, altrimenti grazie lo stesso.
Ho risolto, forse con un'elaborazione un po' troppo contorta:




anno=raw_input("Inserisci l'anno d'interesse: ")

file=open("Corso.txt","r")

lista=[]

lista1=[]

for linea in file:

if linea!="\n":

lista.append(linea.split())

for elemento in lista:

if "Anno:"+anno in elemento:

lista1.append(lista[lista.index(elemento)-1])

lista1.append(elemento)

x=0

for elemento in lista1:

y=x%2

if y==0:

print(" ".join(elemento))

else:

print(elemento0+"\n")

x=x+1






Pagina: 1



Esegui il login per scrivere una risposta.