Nombre aléatoire qui change toutes les 5 secondes

Julien - 21 mars 2016 à 00:47
 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.
A voir également:

2 réponses

Whismeril Messages postés 19039 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 7 mai 2024 656
21 mars 2016 à 11:37
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
1
Merci,
Je vais regarder ça de suite.
0
Mints Messages postés 69 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 1 juin 2018 7
21 mars 2016 à 14:26
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()


--
1
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.
0
Mints Messages postés 69 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 1 juin 2018 7 > 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
0
Parfait merci.

Va vraiment falloir que je m'y mette, c'est top de savoir faire des truc comme ça.
0
Rejoignez-nous