def validate(event=None): global pack_actif, index_pack try: saisie = int(saisir.get()) except ValueError: mess = 'Entrez un entier stictement positif' barre_de_message(mess, messager) return None if saisie in range(1, 1000): mess = 'Cela prend parfois quelques instants' barre_de_message(mess, messager) messager.update() compteur = 0 overflow = 0 pack_actif = [] index_pack = 0 while compteur <= saisie and overflow < 100_000: donne = Donne() overflow += 1 if (not sequence_active) or sequence_active.filtre(donne): compteur += 1 pack_actif.append(donne.identifiant()) if compteur == 0: mess = 'Filtres incompatibles' donne = Donne() pack_actif.append(donne.identifiant()) elif compteur > 0: mess = 'Donnes rares. Uniquement ' + str( compteur) + ' donnes distribuées' else: mess = 'Donnes distribuées' barre_de_message(mess, messager) barre_de_menu(lm_donne, menu) clear(fenetre) else: mess = 'Entrez un entier compris entre 1 et 1000' barre_de_message(mess, messager)
DONNETYPE = ("Pack de donne", ".pak") DEBUG = False # True permet la réinitialisations des données sur les filtres # en cas de problème ################################################################ # INITIALISATION DES VARIABLES GLOBALES ################################################################ sequence_active = None # La séquence en cours d'utilisation (vide a priori) donne_actuelle = Donne() # La donne en cours d'affichage pack_actif = [donne_actuelle.identifiant()] # Le pack de donne en cours d'utilisation index_pack = 0 # Index référençant la donne du pack en cours d'utilisation liste_des_filtres = readfiltres() # Les filtres sauvegardés dans le fichier filtres.fil liste_des_sequences = readsequences() # Les séquences sauvegardées dans le fichier sequences.fil position_active = Position(1) # La position natuelle est en Sud widgets_actifs = {} # Sauvegarde de quelques boutons afin de maintenir la communication entre