Pagina 1 di 3

programmino Python

MessaggioInviato: 16 mag 2016, 17:28
da papa10
Ciao a tutti,
avrei bisogno di aiuto,questo programmino linguaggio Python non va,dov'e' l'errore,vi ringrazio:

Codice: Seleziona tutto
a={"come stai":"bene grazie","quanti anni hai":"3 anni","dove abiti":"Milano"}
b=("inizio")
while b!=" ":
b= input("chiedimi qualcosa")
if a.has_key(b):
print (a[b])
else:
print("non capisco")

Re: programmino Python

MessaggioInviato: 16 mag 2016, 17:43
da DanteCpp
In python l'indentazione non è zucchero.

Racchiudi il codice tra i tag code, con la giusta indentazione...

Re: programmino Python

MessaggioInviato: 16 mag 2016, 18:04
da Sjuanez
Foto UtenteDanteCpp ha scritto:In python l'indentazione non è zucchero.
:D

Come dice Dante. Non hai le parentesi, dunque devi annidare il codice per forza tramite l'indentazione.

O_/ O_/ O_/

Re: programmino Python

MessaggioInviato: 16 mag 2016, 18:16
da papa10
Codice: Seleziona tutto
a={"come stai":"bene grazie","quanti anni hai":"3 anni","dove abiti":"Milano"}
b=("inizio")
while b!=" ":
    b = input("chiedimi qualcosa")
if a.has_key(b):
    print (a[b])
else:
    print("non capisco")



l'errore e' che mi chiede sempre :come stai e non va avanti .

Re: programmino Python

MessaggioInviato: 16 mag 2016, 18:19
da Sjuanez
.has_key dovreere stato deprecato (dalla versione 3 in poi), prova con il costrutto inutto in. ora mi guardo meglio il codice e ti dico.

C'è qualcosa che non mi torna. Tu metti domande e risposte in a.

Poi chiedi all'utente di fare una domanda, e stampi la risposta relativa.

Però nel tuo post appena qui sopra scrivi: "l'errore e' che mi chiede sempre :come stai e non va avanti ."

chi ti chiede come stai? Ho capito male io oppure vuoi rivedere quanto scritto? Che deve fare questo script se non quello che dicevo io?

O_/ O_/ O_/

Re: programmino Python

MessaggioInviato: 16 mag 2016, 18:24
da DanteCpp
papa10 ha scritto:l'errore e' che mi chiede sempre :come stai e non va avanti .


devi includere l'if-else nel while...

Re: programmino Python

MessaggioInviato: 16 mag 2016, 18:29
da Sjuanez
Come dice Dante di nuovo. :D L'ho appena provato e va:

Codice: Seleziona tutto
a={"come stai":"bene grazie","quanti anni hai":"3 anni","dove abiti":"Milano"}
b=("inizio")
while b!=" ":
    b = raw_input("chiedimi qualcosa")
    if a.has_key(b):
        print (a[b])
    else:
        print("non capisco")


Mi ero concentrato su altri problemini, ma il problema più grosso era nel controllo del flusso.

Re: programmino Python

MessaggioInviato: 16 mag 2016, 18:32
da papa10
Scusami quando premo run sulla shell mi esce giustamente chiedimi qualcosa (avevo sbagliato precedentemente) e ad ogni risposta mia mi risponde sempre chiedimi qualcosa.

Re: programmino Python

MessaggioInviato: 16 mag 2016, 18:35
da Sjuanez
ed è giusto che lo faccia se non cambi il codice perché gli stai dicendo:

finché l'utente non digita " ", stampa la frase "chiedimi qualcosa"

Lo farà sempre perché, come intuito da Dante, avevi lasciato il controllo fuori dal costrutto while. Ti è più chiaro ora?

O_/ O_/ O_/

Re: programmino Python

MessaggioInviato: 16 mag 2016, 19:30
da papa10
mi da questo errore, perche' uso python versione 3.5.Come posso ovviare

name 'raw_input' is not defined