Bonjour,
J'aimerais comprendre pourquoi, lorsque j'écris:
n=0
u=15*n**2-2*n+1
while u<500:
n=n+1
u=15*n**2-2*n+1
print(n,u)
j'obtiens : 14,57,130,233,366, ET 529
Ce dernier terme dépasse 500 alors que je demande u<500.
Merci de vos explications.
**forum modifié**
bonjour kalliste
parce que lorsque l'on rentre dans la dernière boucle,
u est encore (à ce moment-là) inférieur à 500
donc la boucle s'exécute quand même.
par ailleurs (c'est peut-être volontaire), le 1er terme est calculé mais ne s'affiche pas:
pour n= 0, u=1 ne sort pas en affichage
si l'on souhaite avoir 1, 14, 57... il faudrait inverser les lignes ainsi :
n=0
while u<500:
u=15*n**2-2*n+1
print(n,u)
n=n+1
Bonjour
l'indentation du programme d'origine est peut être même :
n=0
u=15*n**2-2*n+1
while u<500:
n=n+1
u=15*n**2-2*n+1
print(n,u)
n=0
u=15*n**2-2*n+1
while u<500:
n=n+1
u=15*n**2-2*n+1
print(n,u)
n=0
u=15*n**2-2*n+1
while u<500:
n=n+1
u=15*n**2-2*n+1
print(n,u)
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :