Voici mon code jusqu'à présent :
def down_data(h):
t = 0
while h > 0:
t += .0001
h = -4.9*t**2 + 1
v = g*t
yield h, v
return False
def up_data(v):
t = 0
h = 0
vel = v
while h < 1:
t += .0001
h = -4.9*t**2 - v*t
vel = -9.8*t - v
yield h, vel, t
Ce que j'essaye de faire, c'est de faire en sorte que mon main()
pour sortir les valeurs de down_data(1)
tant que cette fonction reste valide. L'exécution de ce code incomplet ne fait que créer une boucle infinie et je ne sais pas pourquoi.
J'essaie de combiner ces deux fonctions pour simuler une balle rebondissante, mais les assembler s'est avéré difficile à cause de la fonction de rendement. J'ai essayé de créer un main()
et en cours d'exécution while
boucle sur l'une des fonctions, mais cela crée une boucle infinie. Voici la main()
J'ai essayé :
def main():
data = []
while down_data(1):
data.append(down_data(1))
print(data)
Existe-t-il un moyen plus simple de procéder ? Le site main()
La fonction que je recherche serait quelque chose comme ça :
Edit : J'ai aussi essayé ceci, mais le même problème se produit ; la boucle while ne se ferme pas pour passer à la suivante. i
:
def main():
data = []
for i in down_data(1):
while i[0] > 0:
data.append(i[0])
continue
print(data)