Forum >> Principianti >> problema con else:

Pagina: 1

salve a tutti sto studiando da un manuale python ho un problema quando scrivo:

def StampaParita(x):
if x%2 == 0:
print x, "e' pari"
else:
print x, "e' dispari"

quello che succede è che mi accetta:
def StampaParita(x):
if x%2 == 0:
print x, "e' pari"

ma quando scrive else: mi da errore.

>>> def stampaparita(x):
... if x%2 == 0:
... print x, "è pari"
... else:
File "<stdin>", line 4
else:
^
IndentationError: unindent does not match any outer indentation level

questa è la copia cosa c'è di sbagliato non riesco a capire sono 4 ore che sto provando ogni cambiamento possibile ma non funziona nulla

--- Ultima modifica di mirkodls in data 2016-09-05 18:00:56 ---
Sicuramente e` un errore di spaziatura (lo dice anche il messaggio: "indentation").
Pero` e` impossibile dire esattamente quale e dove perché non hai riportato un codice a spaziatura fissa (selezionandolo e usando il simbolo <> di fianco ai colori).
*** Il codice va evidenziato con il simbolo di fianco ai colori per non perdere l'indentazione ***
IndentationError: unindent does not match any outer indentation level
Per fortuna Python è autoesplicativo nella rappresentazione dei suoi errori. In questo caso ti sta comunicando che hai allineato male qualcosa, evidenziando l'else che non combacia rispetto all'if corrispondente. Visto che in Python la sintassi gioca un ruolo fondamentale, ti ricordo di postare il tuo codice con il tasto che ti permette di formattare correttamente quanto scritto.

Tornando all'errore, quindi scrivere:
if <condizione>:
    [...]
else:
    [...]
risulta corretto e non genera alcun tipo di messaggio, mentre dare una spaziatura diversa a quel blocco di codice ti darebbe dei problemi. Anche solo usare stili di indentazioni diversi, mischiando spazi e TAB ad esempio, risulterebbe errato.

Fai un po' di prove e assimila bene questo fondamentale concetto, è davvero vitale.

Cya
Sicuramente e` un errore di spaziatura (lo dice anche il messaggio: "indentation").
Pero` e` impossibile dire esattamente quale e dove perché non hai riportato un codice a spaziatura fissa (selezionandolo e usando il simbolo <> di fianco ai colori).
Scusa Claudio, non volevo duplicare la risposta, non c'era ancora il tuo messaggio quando ho iniziato a scrivere.

Cya


Pagina: 1



Esegui il login per scrivere una risposta.