[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