si n est pair se traduit par if n%2==0
sinon se traduit par else.
donc l'algo se traduit ainsi :
while n > 1 :
if n%2==0 :
n= n/2
else :
n=n*3+1
print ( n )
le 10 et le 40 sont des valeurs que tu as trouvées pour un exemple qu'on t'a donné : en commencant par 13. Si on met 10 et 40, le prog ne fonctionnera pas pour un autre nombre de départ.
il faut quelque chose pour calculer la durée et la hauteur, c'est en effet ce qui est demandé.
première chose à faire : mettre 0 dans duree et hauteur.
ensuite dans la boucle while, ajoute 1 à duree à chaque tour. Ca permet de compter les éléments.
fais le, complète le programme, je te dirai quoi faire pour la hauteur.
faudrait que t'essaies... juste dire "j'arrive pas", c'est comme si tu attendais tranquillement que je fasse le truc.
l'algo :
while n > 1 :
if n%2==0 :
n= n/2
else :
n=n*3+1
print ( n )
tu ne sais pas ajouter avant le while
duree = 0
hauteur = 0 ?
à l'intérieur de la boucle while, donc juste avant le if,
tu ne sais pas ajouter 1 à duree ?
ça n'est pas difficile, il me semble.
bon, je te donne le prog complété :
duree=0
hauteur=0
while n > 1 :
duree = duree + 1
if n%2==0 :
n= n/2
else :
n=n*3+1
if n > hauteur :
hauteur = n
print ( n )
print(duree)
print(hauteur)
on va stopper là : si tu ne maîtrise pas le while, le if, else, ou %2 et //2, tu ne sauras pas faire une liste, ni une def:
et te donner les solutions n'a aucun interet. D'autant que je t'en ai déjà donné pas mal.
J'espère que tu as compris ce qu'on a fait.
Je te recommande de reprendre les exos faits en cours, pour les comprendre, ça te sera utile.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :