Temps imparti

Résolu
Signaler
Messages postés
13
Date d'inscription
mercredi 1 février 2012
Statut
Membre
Dernière intervention
8 février 2012
-
Messages postés
13
Date d'inscription
mercredi 1 février 2012
Statut
Membre
Dernière intervention
8 février 2012
-
Bonjour,

J'ai mit au point un questionnaire qui prend des questions complètement aléatoire grâce u module random mais j'aimerais faire de façons a mettre un temps imparti a ces questions comment faire SVP ???

Merci de bien vouloir m'aidai

#############################
#Langage : Basic Panoramic, Python #
#############################
Trop de culture épuise un champ fertile
A voir également:

4 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
363
un dernier trouvé sur internet

import threading as TH, time as TI

class Timer:
    def __init__(self, n, f, *args, **kargs):
        """Appelle la fonction/classe f toutes les n secondes,
        les arguments optionnels sont transmis à f"""
        if type(n) is not int:
            raise TypeError("n doit être entier")
        if n < 1:
            raise ValueError("Délai invalide (minimum 1s)")
        if not callable(f):
            raise TypeError("f ne peut pas être appelé")
        self._f = f
        self._f_args = args
        self._f_kargs = kargs
        self._n = n
        self.lance = False
        self.threads = []

    def _appel(self, id):
        self._f(*self._f_args, **self._f_kargs)

    def _boucle(self):
        while not self._fin:            th TH.Thread(target self._appel, args = (len(self.threads),))
            th.start()
            self.threads.append(th)
            TI.sleep(self._n)
        for t in self.threads:
            t.join()

    def Go(self):
        """Lance le timer"""
        if not self.lance:
            self._fin = False            self.thread TH.Thread(target self._boucle)
            self.thread.start()
            self.lance = True

    def Stop(self):
        """Arrete le timer"""
        if self.lance:
            self._fin = True
            self.running = False

if __name__ == '__main__':
    x = 1
    def f():
        global x
        print '\t' + `x`
        x += 1

    T = Timer(3, f)
    T.Go()

    try:
        i = 1
        while True:
            print i
            i += 1
            TI.sleep(1)
    except KeyboardInterrupt:
        pass

    T.Stop()
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
363
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
363
non je n'avais pas bien regardé, utilise plutot la fonction sleep(), et tu devrais obtenir ce que tu veux, si tu ne sais pas comment elle marche, regarde sur google, je ne connais pas cette fonction
Messages postés
13
Date d'inscription
mercredi 1 février 2012
Statut
Membre
Dernière intervention
8 février 2012

Salut,

Tout d'abord  merci.
Mais je suis débutant en programmation donc je pense mettre un peu de temps a comprendre ton code mais bon ça va tu m'a mit des indication entre guillemets merci :-)
Et bien je te remercie pour ce code je vais voir si j'y comprend quelque chose et comment l'adapter à mon script si j'y arrive...

@+

Luc