Boucle entre fichiers

Nathan -  
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai fait un programme qui comporte une variable argent et je voudrais pouvoir l'incrémenter de 1 toute les minutes tout en pouvant continuer le script sans le bloquer avec une boucle infinie.
J'ai essayé en utilisant un 2nd module avec un from ___ import * mais cela créée une boucle infinie entre les 2 modules car pour chaque module, il y a un from ____ import * de l'autre module.

Sauriez vous comment faire ?

Configuration: Windows / Firefox 81.0
A voir également:

5 réponses

yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 585
 
deux façons de faire ce que je suggère en #2:
from datetime import *
argent=0
avant=datetime.now()
while True:
    input("prêt?")
    delai=(datetime.now()-avant).seconds
    avant=avant+timedelta(seconds=delai)
    argent=argent+delai
    print(argent)

ou
from datetime import *
class frik:
    def __init__(self,valeur=0):
        self.pot=valeur
        self.debut=datetime.now()
    def combien(self):
        return self.pot+(datetime.now()-self.debut).seconds
argent=frik()
while True:
    input("prêt?")
    print(argent.combien())
1
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 585
 
ou bien:
from datetime import *
class frik:
    def __init__(self,valeur=0):
        self.__pot=valeur
        self.__debut=datetime.now()
    def combien(self):
        return self.__pot+(datetime.now()-self.__debut).seconds
    def ajoute(self,valeur):
        self.__pot=self.__pot+valeur
argent=frik()
while True:
    k=int(input("combien de plus?"))
    argent.ajoute(k)
    print(argent.combien())
0
Phil_1857 Messages postés 1956 Statut Membre 168
 
Bonjour Nathan,

On y verrai plus clair si tu affichait ton code ici, avec les balises de code

mode d'emploi:

https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci :

def test():
    print('test')

test()
0
Nathan
 
Voici le code:

code1:

argent=0

From code2 import *

print(argent)




code2:

From code1 import *

time import

time.sleep(1)
argent=argent+1


Mais quand le code1 importe la variable argent du code2, le code2 relance le code1 a cause du from code1 import, mais je suis obligé de l importer car si je definie directement la variable argent dans code2, elle reviendra à cette valeur à chaque fois que je lancerai le code2 pour l incrémenter.
0
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 585 > Nathan
 
ton exemple est bizarre, tu ne veux afficher argent qu'une seule fois? quand?
0
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 585
 
bonjour, plutôt que de l'incrementer toutes les minutes, n'est-il pas possible de l'augmenter avant de l'utiliser?
0
Phil_1857 Messages postés 1956 Statut Membre 168
 
OK

mais j'ai l'impression qu'il importe chaque module l'un dans l'autre ..

et ça, à mon avis, ça ne doit pas bien aller
0
Nathan
 
Oui voilà, c est ca qui bug. Mais je suis obligé car, je ne sais pas si mon 1er message est compréhensible mais en gros je doit avoir 2 modules qui tournent en même temps, 1 pour le jeu et 1 pour augmenter argent de 1 à chaque seconde. Et le 1er module doit importer la variable argent du 2nd. Sauf que le 2nd importe argent du 1er et cela créée une boucle
0
Nathan
 
On ne peux pas importer une variable d un module sans lancer tout le code de ce module ?
Et on ne peut pas lancer 2 codes en même temps ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Phil_1857 Messages postés 1956 Statut Membre 168
 
Ca ne peut pas marcher

ensuite, ce n'est pas

time import


mais

import time


Si tu veux vraiment incrémenter argent de 1 toutes les minutes, un module suffit

importer time
initialiser argent à 0

faire une boucle
    time.sleep(1)
    argent += 1
    imprimer argent


time.sleep(1), c'est une pause de 1 seconde
0
Nathan
 
Oui mais le problème c est que je veux en même temps pouvoir incrémenter la variable argent et en même temps pouvoir jouer
0
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 585 > Nathan
 
donne alors un exemple de programme où il se passe quelque chose.
0