Pagina 1 di 1
					
				[Python] Una mano con un esercizio?
				Inviato: sab nov 08, 2014 10:57 am
				da zingiest
				Ciao a tutti  ,
 , 
sto leggendo un manuale di python, sono alle primissime armi e sto cercando di risolvere questo esercizio: 
['ciao!', 1, ['mela', 'pera', 'banana'], [1, 2, 3]]
Esercizio: scrivi un ciclo che attraversa la lista precedente e stampa la lunghezza di ogni elemento.
Io ho scritto questo: Codice: Seleziona tutto
lista=['ciao!', 1, ['mela', 'pera', 'banana'], [1, 2, 3]]
i=0
while i<len(lista):
 print len(lista[i])
 i=i+1
 . Cosa posso fare?
 . Cosa posso fare?
Grazie e buon weekend a tutti 
 
			 
			
					
				Re: [Python] Una mano con un esercizio?
				Inviato: sab nov 08, 2014 1:59 pm
				da hashcat
				Premessa: non ho ben capito se devi calcolare anche la lunghezza degli elementi della lista dentro la lista ('mela', 'pera', 'banana').
L'errore segnalato si verifica perché l'elemento 1 (ad esempio) è di tipo intero e l'operazione len non è definita su questo tipo (ma è definita su '1' o "1" che vengono entrambi interpretati come stringa). Senza tenere conto del dubbio riportato nella premessa di questo messaggio potresti fare una cosa di questo genere:
Codice: Seleziona tutto
lista=['ciao!', 1, ['mela', 'pera', 'banana'], [1, 2, 3]]
for n in lista:
    print len(str(n))

P.S.: Attraverso str(n) impongo che ogni elemento della lista principale su cui itera il for sia interpretato (o convertito) come tipo stringa sul quale è definita l'operazione len.
P.S.2: Tieni presente che senza opportune precisazioni l'operazione len di una lista riporta il numero di elementi contenuti in essa. 
			 
			
					
				Re: [Python] Una mano con un esercizio?
				Inviato: dom nov 09, 2014 5:58 pm
				da zingiest
				Non è proprio chiaro in effetti. Grazie, risolto   
  