Temps imparti [Résolu]

lutcho74 13 Messages postés mercredi 1 février 2012Date d'inscription 8 février 2012 Dernière intervention - 6 févr. 2009 à 11:28 - Dernière réponse : lutcho74 13 Messages postés mercredi 1 février 2012Date d'inscription 8 février 2012 Dernière intervention
- 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
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 5 mars 2009 à 23:07
3
Merci
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()

Merci cs_Julien39 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_Julien39
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 5 mars 2009 à 23:04
Commenter la réponse de cs_Julien39
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 5 mars 2009 à 23:07
0
Merci
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
Commenter la réponse de cs_Julien39
lutcho74 13 Messages postés mercredi 1 février 2012Date d'inscription 8 février 2012 Dernière intervention - 6 mars 2009 à 11:24
0
Merci
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
Commenter la réponse de lutcho74

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.