[Python] Una mano con un esercizio?

"Null reference exception"? no, grazie, prendo un "unexpected T_VARIABLE"... Questo è il forum per imparare l'arte della programmazione o per chiedere un parere su una sessione di debug particolarmente ostica.
Regole del forum
Ricorda di indicare chiaramente nell'oggetto il linguaggio ([C#] oppure [PHP], [Java], [HTML], ...), se la discussione ne riguarda uno in particolare!
Rispondi
Avatar utente
zingiest
Livello: Floppy disk (3/15)
Livello: Floppy disk (3/15)
Messaggi: 34
Iscritto il: mer dic 25, 2013 12:31 pm

[Python] Una mano con un esercizio?

Messaggio da zingiest »

Ciao a tutti :ciao ,
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
Eseguendolo però ottengo un errore in cui mi dice che un intero non ha una lunghezza :muro . Cosa posso fare?
Grazie e buon weekend a tutti :ciao
MB: AsRock 970 Extreme4
CPU: AMD Fx-8320 Black Edition
RAM: Kingston HyperX 8Gb 1600Mhz
Scheda video: RX480 8GB
SSD: Kingston v300 120GB
Storage: RAID0 Seagate320GBx2
ALI: XFX ProCore 550watt

System
System
Bot ufficiale TurboLab.it
Bot
Messaggi:
Iscritto il: sab dic 31, 2016 6:19 pm
Contatta: Contatta

Re: [Python] Una mano con un esercizio?

Messaggio da System » sab nov 08, 2014 10:57 am


Avatar utente
hashcat
Livello: Storage Area Network (12/15)
Livello: Storage Area Network (12/15)
Messaggi: 1946
Iscritto il: gio mag 02, 2013 4:13 pm

Re: [Python] Una mano con un esercizio?

Messaggio 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.
“The quieter you become, the more you can hear”

Avatar utente
zingiest
Livello: Floppy disk (3/15)
Livello: Floppy disk (3/15)
Messaggi: 34
Iscritto il: mer dic 25, 2013 12:31 pm

Re: [Python] Una mano con un esercizio?

Messaggio da zingiest »

Non è proprio chiaro in effetti. Grazie, risolto :grazie :clap
MB: AsRock 970 Extreme4
CPU: AMD Fx-8320 Black Edition
RAM: Kingston HyperX 8Gb 1600Mhz
Scheda video: RX480 8GB
SSD: Kingston v300 120GB
Storage: RAID0 Seagate320GBx2
ALI: XFX ProCore 550watt

System
System
Bot ufficiale TurboLab.it
Bot
Messaggi:
Iscritto il: sab dic 31, 2016 6:19 pm
Contatta: Contatta

Re: Re: [Python] Una mano con un esercizio?

Messaggio da System » dom nov 09, 2014 5:58 pm


Rispondi
  • Argomenti simili
    Risposte
    Visite
    Ultimo messaggio