Page 1 of 1
script python bloqué
Posted:
29 Aug 2023, 17:37
by Filoche
bonjour , voici le script qui me pose problème (j'enlève les print() pour faire court) :
- Code: Select all
from math import *
nbLoop,result=0,2
while (result!=1):
nbLoop+=1
if (fmod(result,2)):
result=result*3+1
else:
result*=2
#
Voilà , la machine ne sort pas de là ?!
Re: script python bloqué
Posted:
29 Aug 2023, 17:48
by critor
Bonjour.
Il me semble à la lecture de ton script :
- que la variable result est initialisée à 2
- que se valeur sera toujours modifiée à la hausse lors des affectations suivantes
En conséquence
result sera toujours supérieur à 2 et donc différent de 1, et la boucle ne se terminera jamais.
Re: script python bloqué
Posted:
29 Aug 2023, 18:30
by Filoche
c'est un exemple ; j'initialise la variable en début de script avec input() .
Ce bout de code correspond à la Conjecture de Syracuse , qui se prête bien à une initiation au codage
Re: script python bloqué
Posted:
29 Aug 2023, 18:34
by critor
Oui, et dans la conjecture de Syracuse les valeurs ne sont pas toujours croissantes, puisque pouvant retomber à 1.
La petite erreur me semble être dans le cas où la valeur est paire, où tu multiplies par 2 au lieu de diviser par 2.
Re: script python bloqué
Posted:
29 Aug 2023, 18:38
by Filoche
OK ! Mais c'est bien sûr !!
J'avais pas compris ta réponse !?
Je multiplie par 2 au lieu de diviser
Merci à toi
Re: script python bloqué
Posted:
29 Aug 2023, 18:39
by critor
De rien, bien content que ce soit réglé.