Mise à jour rapide sous Tkinter

Le problème exposé dans ce sujet a été résolu.

Bonjour à tous,

J'ai réalisé un programme qui retrouve une phrase avec le principe d'algorithme génétique, je me suis vraiment éclaté. Je l'avais réalisé au début en JavaScript avec P5.js, le navigateur me permettait donc d'afficher très rapidement des données. (plusieurs dizaines par secondes). J'essaye de le refaire en Python, mais je me heurte à un problème. En effet, mon algorithme fonctionne parfaitement, j'essaye maintenant de lui faire une interface graphique, car en console c'est pas très pratique :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#340) Average fitness : 0.7228494623655906 || Best phrase : It was never meant toadce here.
#341) Average fitness : 0.7241397849462364 || Best phrase : It was ne8er meant to die jere.
#342) Average fitness : 0.7262903225806447 || Best phrase : It was ne8er meant to die jere.
#343) Average fitness : 0.7242473118279567 || Best phrase : It was ne8er meant to die jere.
#344) Average fitness : 0.7264516129032258 || Best phrase : It was neIer meant togdie here.
#345) Average fitness : 0.7259677419354827 || Best phrase : It6was neIer mean0 to die here.
#346) Average fitness : 0.722365591397849 || Best phrase : It wjs never meant Jo die here.
#347) Average fitness : 0.7234408602150532 || Best phrase : It was ng,er meant to die here.
#348) Average fitness : 0.719139784946236 || Best phrase : IQ was ne8er meant to die herej
#349) Average fitness : 0.721774193548387 || Best phrase : Itjwas ne8er meant to die here.
#350) Average fitness : 0.7226881720430101 || Best phrase : It was never meant to die here.

J'ai d'abord pensé à Tkinter, sauf que celui-ci ne s'actualise pas du tout assez vite. Du coup j'ai l'impression que les interfaces graphiques ne permettent pas de faire ce genre de chose. Je me demandais si il y avait un moyen de faire du web dynamique avec Python ?

Merci à vous. :)

Salut,

Tu pourrais p-ê rester dans le terminal et éditer la précédente ligne ? Ça te permet une update rapide sans spammer l'output. Il suffit de ne pas finir sur un \n mais sur un \r :

1
2
3
4
5
from time import sleep

print('Wiziz', end='\r')
sleep(1)
print('Wizix')

Par contre, si tu comptes logger l'output, il vaut mieux proposer une option pour alterner entre \n et \r.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte