[Risolto]python problema di indentazione

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
mici
Prode Principiante
Messaggi: 78
Iscrizione: domenica 19 agosto 2012, 0:06
Desktop: Unity
Distribuzione: 16.04lts

[Risolto]python problema di indentazione

Messaggio da mici »

Codice: Seleziona tutto

 def interrogazione(domanda,risposta_esatta):
 risposta_allievo = raw_input(domanda)
  if risposta_esatta == risposta_allievo:
     print "La risposta e' esatta"
     print "Bravissimo"
  else:
     print "Risposta errata"
     print "La risposta esatta e' ",risposta_esatta
     print "Studia di piu'!"
 domanda1 = "chi e' l'autore dei Promessi Sposi? "
 risposta_esatta1 = "Manzoni"
 interrogazione(domanda1, risposta_esatta1)
 domanda2 = "chi e' l'autore della Divina Commedia? "
 risposta_esatta2 = "Dante"
 interrogazione(domanda2, risposta_esatta2) 
e output è :

Codice: Seleziona tutto

 python _def.py
  File "_def.py", line 1
    def interrogazione(domanda,risposta_esatta):
    ^
IndentationError: unexpected indent
dov è l'errore ???
Ultima modifica di mici il sabato 30 aprile 2016, 18:33, modificato 1 volta in totale.
frupito
Prode Principiante
Messaggi: 20
Iscrizione: venerdì 13 settembre 2013, 11:23
Desktop: xubuntu
Distribuzione: Ubuntu 16.04 (x86_64)

Re: python problema di indentazione

Messaggio da frupito »

Te lo dice lo stesso output che errore c'è: un errore di indentazione. Quando definisci una funzione il blocco della definizione della funzione deve essere indentato, cioè:

Codice: Seleziona tutto

def interrogazione(domanda,risposta_esatta):
    risposta_allievo = raw_input(domanda)
e poi tutto il resto indentato di conseguenza
mici
Prode Principiante
Messaggi: 78
Iscrizione: domenica 19 agosto 2012, 0:06
Desktop: Unity
Distribuzione: 16.04lts

Re: python problema di indentazione

Messaggio da mici »

Codice: Seleziona tutto

 def interrogazione(domanda,risposta_esatta):
     risposta_allievo = raw_input(domanda)
     if risposta_esatta == risposta_allievo:
        print "La risposta e' esatta"
        print "Bravissimo"
     else:
        print "Risposta errata"
        print "La risposta esatta e' ",risposta_esatta
        print "Studia di piu'!"
 domanda1 = "chi e' l'autore dei Promessi Sposi? "
 risposta_esatta1 = "Manzoni"
 interrogazione(domanda1, risposta_esatta1)
 domanda2 = "chi e' l'autore della Divina Commedia? "
 risposta_esatta2 = "Dante"
 interrogazione(domanda2, risposta_esatta2)
mi da sempre lo stesso outpu
frupito
Prode Principiante
Messaggi: 20
Iscrizione: venerdì 13 settembre 2013, 11:23
Desktop: xubuntu
Distribuzione: Ubuntu 16.04 (x86_64)

Re: python problema di indentazione

Messaggio da frupito »

Si, perchè non hai indentato il blocco di if ed else di conseguenza...
Dovrebbe darti infatti lo stesso errore ma su una linea diversa...
mici
Prode Principiante
Messaggi: 78
Iscrizione: domenica 19 agosto 2012, 0:06
Desktop: Unity
Distribuzione: 16.04lts

Re: python problema di indentazione

Messaggio da mici »

Codice: Seleziona tutto

  def interrogazione(domanda,risposta_esatta):
     risposta_allievo = raw_input(domanda)
      if risposta_esatta == risposta_allievo:
         print "La risposta e' esatta"
         print "Bravissimo"
      else:
         print "Risposta errata"
         print "La risposta esatta e' ",risposta_esatta
         print "Studia di piu'!"
 domanda1 = "chi e' l'autore dei Promessi Sposi? "
 risposta_esatta1 = "Manzoni"
 interrogazione(domanda1, risposta_esatta1)
 domanda2 = "chi e' l'autore della Divina Commedia? "
 risposta_esatta2 = "Dante"
 interrogazione(domanda2, risposta_esatta2)

Codice: Seleziona tutto

 File "_def.py", line 1
    def interrogazione(domanda,risposta_esatta):
    ^
IndentationError: unexpected indent
scusa se insisto ma ho iniziato a leggere python da poco
però l'errore è sempre alla 1 riga
spider-net
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: martedì 11 maggio 2010, 17:38
Desktop: CWM
Distribuzione: FreeBSD 12.1

Re: python problema di indentazione

Messaggio da spider-net »

A me funziona

Codice: Seleziona tutto

def interrogazione(domanda,risposta_esatta):
    risposta_allievo = raw_input(domanda)
    if risposta_esatta == risposta_allievo:
        print "La risposta e' esatta"
        print "Bravissimo"
    else:
        print "Risposta errata"
        print "La risposta esatta e' ",risposta_esatta
        print "Studia di piu'!"
domanda1 = "chi e' l'autore dei Promessi Sposi? "
risposta_esatta1 = "Manzoni"
interrogazione(domanda1, risposta_esatta1)
domanda2 = "chi e' l'autore della Divina Commedia? "
risposta_esatta2 = "Dante"
interrogazione(domanda2, risposta_esatta2)
Rimuovi gli spazi all'inizio di ciascuna riga.
frupito
Prode Principiante
Messaggi: 20
Iscrizione: venerdì 13 settembre 2013, 11:23
Desktop: xubuntu
Distribuzione: Ubuntu 16.04 (x86_64)

Re: python problema di indentazione

Messaggio da frupito »

Scusa tu...ti ho detto una stupidaggine nella fretta della risposta..l blocco if else era indentato bene..
La giusta indentazione è:

Codice: Seleziona tutto

def interrogazione(domanda, risposta_esatta):
    risposta_allievo = raw_input(domanda)
    if risposta_esatta == risposta_allievo:
        print "ok"
    else:
        print "errore"
domanda1 =  "Autore promessi sposi"
risposta_esatta1 = "Manzoni"
interrogazione(domanda1, rispsota_esatta1)
così a me gira senza errori :)
frupito
Prode Principiante
Messaggi: 20
Iscrizione: venerdì 13 settembre 2013, 11:23
Desktop: xubuntu
Distribuzione: Ubuntu 16.04 (x86_64)

Re: python problema di indentazione

Messaggio da frupito »

Gusto spider-net! Credo che il problema stesse proprio negli spazi prima del def
mici
Prode Principiante
Messaggi: 78
Iscrizione: domenica 19 agosto 2012, 0:06
Desktop: Unity
Distribuzione: 16.04lts

Re: python problema di indentazione

Messaggio da mici »

ha ragione spider-net non mi ero accorto degli spazi, ero fissato sulla sintassi

GRazie
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 9 ospiti