Nombre aléatoire qui change toutes les 5 secondes

- 21 mars 2016 à 00:47 - Dernière réponse :  Julien
- 21 mars 2016 à 19:59
Bonjour,

J'aimerais avoir comme une horloge sur mon bureau qui toutes les 5 secondes m'afficherais un nombre compris entre 1 et 100.
Sur internet on trouve beaucoup de générateur de nombre aléatoire mais aucun ne tourne en continu ce qui est génant car je veux m'en servir pour mixer mes décisions et devoir appuyer sans arret sur des boutons me déconcentre.

Je me suis dit que ce devait être possible avec python car j'avais déjà recopié des codes avec ce language mais je suis totalement incapable d'en crer un a partir de 0.

Pouvez vous m'aider ?

Cela me ferai un grand plaisir.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
12263
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 novembre 2018
- 21 mars 2016 à 11:37
1
Merci
Bonjour,

je ne fais pas de python, mais ce que tu cherches s'appelle un timer.
une rapide recherche m'a mené là
http://www.developpez.net/forums/d166419/autres-langages/python-zope/general-python/utilisation-timer-python/

ou plusieurs options sont évoquées, il y a aussi un lien vers un autre post

Merci Whismeril 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Merci,
Je vais regarder ça de suite.
Commenter la réponse de Whismeril
Meilleure réponse
Messages postés
70
Date d'inscription
mercredi 1 novembre 2000
Dernière intervention
1 juin 2018
- 21 mars 2016 à 14:26
1
Merci
Salut, peut-être que cela suffirait (si j'ai bien compris le problème):
from Tkinter import *
from random import randrange

def timer():
    chiffre = randrange(101) #<- amplitude du nombre tiré au hasard
    if chiffre < 10:
        label.config(text='0'+str(chiffre))
    else:
        label.config(text=str(chiffre))
    fen.after(5000,timer)
    
if __name__ == "__main__":
    fen = Tk()
    fen.resizable(0,0)
    label = Label(fen,font="Century 200 normal") # <- 200 = taille 
    label.pack()
    timer()
    fen.mainloop()


--

Merci Mints 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Bonjour.
Absolument génial.
Ça faisait une heure que j'essayer de faire quelque chose avec cette histoire de timer mais honnêtement j'était comme devant la pierre de rosette.

La copié coller et ça marche.

Gros merci.

Par compte, j'essai de comprendre la logique du code.
Alors si vous aviez 5 minutes a m'accorder.

Au début on défini le chiffre.
Ça je comprend même si je ne sais pas le faire.
Si le chiffre fait moins de 10 on ajoute un 0 sinon il donne le chiffre.
Mais dans le cas de 100, est ce qu'il élargira la fenetre ou est ce qu'il afichera 00 en cachant le 1? (pour l'instant je n'est pas vu de 100 ou de 00)
Ce qui me laissera toujours 100 chiffres de 00 à 99 l'un comme l'autre me vont parfaitement
J'imagine que le 5000 ce sont de millisecondes ?

Par contre c'est la définition de la fenêtre que je ne comprend pas.
Pourquoi faut il mettre un if.
If pour moi, ça veut dire si, donc une condition.
Pourquoi doit on mettre une condition si on la veut toujours ?
Et après le texte la je comprend pas.
Je veux dire ça défini la fenêtre mais l'ordre des ordres à t'il une importance ou pas.

Comment tous ça marche ?

Encore merci.
Messages postés
70
Date d'inscription
mercredi 1 novembre 2000
Dernière intervention
1 juin 2018
> Julien - 21 mars 2016 à 19:36
Re,
d'abord le le if __name__ == "main" est un réflexe chez moi il stipule que le script n'est à exécuter que si il est lancé via lui-même et non lorsqu'on l'importe dans un autre script.(vous pouvez l'enlever dans votre cas).
fen = Tk() crée un objet fenêtre Tkinter (qui est une bibliothèque utilisée pour créer des interfaces graphiques)
fen.resizable(0,0) interdit le redimensionnement de la fenêtre.
label = Label(...) crée une étiquette qui sera placé dans la fenêtre et dont la police d'écriture sera Century.
label.pack() est la méthode de placement géométrique du label dans la fenêtre; elle sert à agencer les différents widgets(windows gadget comme les labels, les boutons, les canevas,...) présents dans un conteneur(fenêtre,frame,canevas...)
timer() : invocation de la fonction qui mettra à jour le nombre du label toutes les 5000ms en mettant un '0' si c'est un chiffre, si le nombre est 100 le label s’élargira et donc la fenêtre aussi.
fen.mainloop() lance la boucle principale de la fenêtre qui surveillera les enrênements utilisateurs (souris, claviers),mettra à jour les widgets présents et rafraîchira l'affichage.

Cordialement,
Mints
Parfait merci.

Va vraiment falloir que je m'y mette, c'est top de savoir faire des truc comme ça.
Commenter la réponse de Mints

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.