Temps imparti

Résolu
lutcho74 Messages postés 13 Date d'inscription mercredi 1 février 2012 Statut Membre Dernière intervention 8 février 2012 - 6 févr. 2009 à 11:28
lutcho74 Messages postés 13 Date d'inscription mercredi 1 février 2012 Statut Membre Dernière intervention 8 février 2012 - 6 mars 2009 à 11:24
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

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 369
5 mars 2009 à 23:07
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()
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 369
5 mars 2009 à 23:04
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 369
5 mars 2009 à 23:07
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
0
lutcho74 Messages postés 13 Date d'inscription mercredi 1 février 2012 Statut Membre Dernière intervention 8 février 2012
6 mars 2009 à 11:24
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
0
Rejoignez-nous