2014-06-21 3:32 GMT-07:00 Gabriele Battaglia <iz4...@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.
Per una cosa del genere, probabilmente userei i signals http://dpaste.com/3MJ5WYT >>> import signal >>> def next_question(timeout, interval): ... print("\ntime's up! next question:\n") ... raise KeyboardInterrupt() ... >>> signal.signal(signal.SIGALRM, next_question) <function next_question at 0x7faead150b70> >>> questions = ['a', 'b', 'c'] >>> def run_questions(): ... for question in questions: ... signal.alarm(10) ... try: ... print('your answer was: ' + input(question + '?\n')) ... except KeyboardInterrupt: ... pass ... else: ... print('no more questions!') ... >>> run_questions() a? time's up! next question: b? ccc your answer was: ccc c? time's up! next question: no more questions! >>> Ovviamente su windows SIGALRM non lo puoi utilizzare (ma forse con cygwin puoi?) ma se usi signal.setitimer invece di signal.alarm con un diverso segnale (forse SIGINT?) dovresti farlo funzionare _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python