Programme plus grande puissance [Fermé]

Signaler
-
Messages postés
1158
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
-
Bonjour,

Je suis en 1ere année de DUT informatique.
Je révise Python, cependant, j'aurais aimé s'il est possible, avoir des explications quant au programme à faire suivant : "Un programme qui calcule, étant donné un entier n, la plus grande puissance de n inférieur à 1 millions.

J'ai écrit un programme qui marche, mais je sais que la façon par laquelle je m'y suis prise est fausse :

entier = input("Quel entier en puissance ? ")

resultat = 0
i = 0

while resultat < 1000000:
resultat = i**entier
i=i+1

if resultat >= 1000000:
print i-2, "est la puissance de",entier,"la plus grande"

Lorsque j'enlève i-2, si je mets en entier 4, j'obtiens en plus grande puissance 33 (donc 33⁴) alors que je suis censée obtenir 31. Si quelqu'un pouvait m'aider à comprendre mon erreur, je lui en serais reconnaissante.

Merci d'avance.

1 réponse

Messages postés
1158
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
188
Bonjour

Il faudrait mettre le i=i+1 avant le calcul du résultat.

Ensuite le if que tu a mis derrière ne sert à rien car si on est sortit de la boucle c'est forcément car résultat est supérieur à 1000000

Il suffit au final de faire un print de i-1

Un dernier détail, vérifier que l'entier rentré par l'utilisateur est supérieur à 0 sinon ça fera une boucle infinie

--