Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Python - possibile che sbaglio?
Forum - Python - possibile che sbaglio?

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
alex160504 (Normal User)
Newbie


Messaggi: 12
Iscritto: 07/11/2008

Segnala al moderatore
Postato alle 16:32
Lunedì, 10/11/2008
Non riesco ad andare avanti con l'apprendimento di Python per un semplice errore di indentatura, ma qual'è quest'errore?


Codice sorgente - presumibilmente Python

  1. >>> if x%2 == 0:
  2.               print x,"x è pari"
  3.        else:
  4.            
  5.   File "<pyshell#177>", line 3
  6.     else:
  7.        
  8. ^
  9. IndentationError: unindent does not match any outer indentation level



Grazie della comprensione.:asd:

Ultima modifica effettuata da alex160504 il 10/11/2008 alle 16:45
PM Quote
Avatar
alex160504 (Normal User)
Newbie


Messaggi: 12
Iscritto: 07/11/2008

Segnala al moderatore
Postato alle 16:50
Lunedì, 10/11/2008
Cavolo, stavo provando e mi sono accorto che se metto il codice precedente dentro una funzione, allora non mi dà errori di indentatura.....
Bahhhh, se inizio a bloccarmi con queste cavolate, pensate al dopo...... brrrrrrrr

PM Quote
Avatar
nick0 (Member)
Pro


Messaggi: 196
Iscritto: 19/10/2008

Segnala al moderatore
Postato alle 18:00
Lunedì, 10/11/2008
Testo quotato

Postato originariamente da alex160504:

Codice sorgente - presumibilmente Python

  1. >>> if x%2 == 0:
  2.               print x,"x è pari"
  3.        else:
  4.            
  5.   File "<pyshell#177>", line 3
  6.     else:
  7.        
  8. ^
  9. IndentationError: unindent does not match any outer indentation level





Non lasciare una riga vuota (altrimenti ottieni l'errore di indentazione) se vuoi che non venga eseguita alcuna istruzione dopo l'else, utilizza il comando "pass":

Codice sorgente - presumibilmente Python

  1. >>> if x%2==0:
  2.         print x,"è pari"
  3.     else:
  4.         pass


PM Quote
Avatar
alex160504 (Normal User)
Newbie


Messaggi: 12
Iscritto: 07/11/2008

Segnala al moderatore
Postato alle 8:06
Martedì, 11/11/2008
Testo quotato

Postato originariamente da nick0:

Testo quotato

Postato originariamente da alex160504:

Codice sorgente - presumibilmente Python

  1. >>> if x%2 == 0:
  2.               print x,"x è pari"
  3.        else:
  4.            
  5.   File "<pyshell#177>", line 3
  6.     else:
  7.        
  8. ^
  9. IndentationError: unindent does not match any outer indentation level





Non lasciare una riga vuota (altrimenti ottieni l'errore di indentazione) se vuoi che non venga eseguita alcuna istruzione dopo l'else, utilizza il comando "pass":

Codice sorgente - presumibilmente Python

  1. >>> if x%2==0:
  2.         print x,"è pari"
  3.     else:
  4.         pass


L'errore me lo dà quando dopo aver scritto else: premo invio per passare alla riga successiva.

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 11:37
Martedì, 11/11/2008
Io ti consiglierei di mettere tutto il contenuto in un file .py e di eseguire quello. La console Python è buona solo per valutare singole espressioni secondo me.


Il mio blog: https://piero.dev
PM Quote
Avatar
alex160504 (Normal User)
Newbie


Messaggi: 12
Iscritto: 07/11/2008

Segnala al moderatore
Postato alle 12:07
Martedì, 11/11/2008
Testo quotato

Postato originariamente da pierotofy:

Io ti consiglierei di mettere tutto il contenuto in un file .py e di eseguire quello. La console Python è buona solo per valutare singole espressioni secondo me.

Infatti se il contenuto lo metto in una funzione, l'indentatura non dà problemi, altrimenti si.
Vi è mai capitato? E' un Bug della console?

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 12:08
Martedì, 11/11/2008
Non e' un bug... semplicemente non è il suo scopo. La console è fatta per testare al volo un'istruzione, non per scriverci interi programmi.


Il mio blog: https://piero.dev
PM Quote
Avatar
alex160504 (Normal User)
Newbie


Messaggi: 12
Iscritto: 07/11/2008

Segnala al moderatore
Postato alle 12:35
Martedì, 11/11/2008
Capito, grazie, ho appena studiato le prime 70 pagine del manuale di Python, quindi capisci l'ignoranza.
Cordialmente
Yuri

PM Quote
Avatar
Daf (Normal User)
Pro


Messaggi: 78
Iscritto: 27/06/2009

Segnala al moderatore
Postato alle 11:51
Domenica, 26/07/2009
Allego il file:
  a me funziona?
  sicuro di non aver indentato anche l'else?

Codice sorgente - presumibilmente Python

  1. if(num % 2 == 0):
  2.   print "Pari"
  3.   else:
  4. >>>Error
  5.  
  6. if(num % 2 == 0):
  7.   print "Pari"
  8. else:
  9.   print "Dispari"
  10. >>> Pari



Daf ha allegato un file: PyOdd.jpg (28238 bytes)
Clicca qui per guardare l'immagine
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo