[Python] Lettura buffer di tastiera.
Marco Beri
marcoberi a gmail.com
Sab 21 Giu 2014 12:45:03 CEST
2014-06-21 12:32 GMT+02:00 Gabriele Battaglia <iz4apu a libero.it>:
> Il programma, che deve girare sotto Windows e in console, sarebbe un test.
> Devono comparire a video delle domande chiuse, quelle a scelta multipla
> del tipo A, B, C oD.
> L’utente deve rispondere premendo la lettera corrispondente alla risposta
> scelta. Ogni domanda prevede, in base al livello di complessità, un diverso
> ammontare di tempo, trascorso il quale, se l’utente non ha ancora risposto,
> si passa alla domanda successiva, oppure una delle risposte sbagliate non è
> più selezionabile.
> Perciò, mentre l’esaminando pensa, io ho bisogno che il flusso del
> programma continui a girare normalmente perché deve gestire dei timer.
> Chiaramente, se uso raw_input, o msvcrt.getch(), non posso più fare nulla
> perché tutto si blocca finché l’utente non batte un tasto.
>
Ok, tutto chiaro. La soluzione del tuo caso è questa:
http://stackoverflow.com/questions/2408560/python-nonblocking-console-input
Ti copio incollo il codice per fare prima. L'ho messo dopo la mia firma
(dimmi se posso/devo fare qualcosa per facilitarti).
Ciao.
Marco.
import msvcrt
num = 0
done = False
while not done:
print num
num += 1
if msvcrt.kbhit():
print "you pressed",msvcrt.getch(),"so now i will quit"
done = True
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140621/c177a751/attachment-0001.html>
Maggiori informazioni sulla lista
Python