[Python] R: Richiesta di aiuto
Manlio Perillo
manlio.perillo a gmail.com
Sab 14 Mar 2015 17:36:08 CET
2015-03-14 15:52 GMT+01:00 Carpediem <i.carpediem a tiscali.it>:
> In realtà, più che un libro, è un corso trovato in rete concepito per
> insegnare python a bambini di età compresa tra 10 e 14 anni. Si chiama:
> passo dopo passo impariamo a programmare con python. Gli autori sono aurora
> martina, angelo raffaele meo, clotilde moro e mario scovazzi. E'
> imbarazzante, ma sto partendo proprio da zero assoluto.
>
Hai provato con Pensare da Informatico?
http://www.python.it/doc/Howtothink/Howtothink-html-it/index.htm
> In realtà mi sto aiutando cercando di acquisire informazioni anche da
> altre fonti in rete e sono in attesa di un libro "vero" comprato da
> feltrinelli "programmare con python guida compleata".
> Vorrei riuscire a portare avanti questa sfida anche pechè mi rendo conto
> che la materia mi attrae molto.
> Ti ringrazio per la tua risposta ma se dai un'occhiata al mio schema, non
> è molto diverso da quello che mi hai indicato.
> Il problema è che vorrei continuare a mantenere la serie di diverse
> risposte previste a seconda di quante volte si ripete la risposta errata.
> In realtà, se metti in esecuzione il mio schema, noterai subito il
> seguente comportamento: 1)se si immette immediatamente una qualsiasi
> risposta giusta tutto funziona come previsto. 2)Se si immettono ad oltranza
> risposte sbagliate, tutto funziona come previsto. 3)Se invece si immette
> una prima risposta errata ma immediatamente dopo se ne immette una esatta,
> a questo punto il programma invece che tornare a proporre l'inserimento
> delle misure, continua a comportarsi come se avessi nuovamente immesso una
> risposta errata. Ed è proprio questo il punto che non riesco a correggere.
>
Perchè hai separato la parte dove chiedi una delle misure del cerchio, e la
parte dove stampi la risposta?
Come ti hanno già suggerito, fai il controllo sull'input dell'utente *una
sola* volta.
Ogni volta che l'utente sbaglia, incrementa una variabile tipo `errori`;
ogni volta che l'utente fa la cosa giusta, resetta errori a 0.
errori = 0
while true:
m = input("dato conosciuto")
if m == "a":
...
errori = 0
else if m == "d":
...
errori = 0
else:
errori = errori + 1
if errori == 1:
print("devi inserire...")
else if errori == 2:
print("Hai sbagliato ancora! ...")
else if errori == 3:
print("Lascia perdere...")
else if errori == 4:
print("La prossima volta...")
break
Probabilmente c'è un modo migliore per farlo, ma al momento non mi viene in
mente.
> [...]
Ciao Manlio
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150314/a8b3f2b2/attachment.html>
Maggiori informazioni sulla lista
Python