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
Messaggio
da mici » sabato 30 aprile 2016, 17:06
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)
Messaggio
da frupito » sabato 30 aprile 2016, 17:54
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
Messaggio
da mici » sabato 30 aprile 2016, 18:01
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)
Messaggio
da frupito » sabato 30 aprile 2016, 18:03
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
Messaggio
da mici » sabato 30 aprile 2016, 18:07
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
Messaggi: 432 Iscrizione: martedì 11 maggio 2010, 17:38
Desktop: CWM
Distribuzione: FreeBSD 12.1
Messaggio
da spider-net » sabato 30 aprile 2016, 18:22
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)
Messaggio
da frupito » sabato 30 aprile 2016, 18:24
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)
Messaggio
da frupito » sabato 30 aprile 2016, 18:26
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
Messaggio
da mici » sabato 30 aprile 2016, 18:33
ha ragione spider-net non mi ero accorto degli spazi, ero fissato sulla sintassi
GRazie
Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti