👤

Bonjour, je suis en 1er spécialité NSI (numérique ), le programme(en python ) ci-dessous doit permettre de trouver les nombres dit "idiots"

Et on doit complétez l'algo suivant

x1=int(input())


x2=int(input())


i=x1


while (i>=x1 and i<=x2):


nb=i


??????????????????????


while (nb>0):


r=nb%10


nb=nb//10


s += r*r*r


if (i==s):


print(s)


i=i+1

Merci d'avance, je vous serais très reconnaissant


Bonjour Je Suis En 1er Spécialité NSI Numérique Le Programmeen Python Cidessous Doit Permettre De Trouver Les Nombres Dit Idiots Et On Doit Complétez Lalgo Suiv class=

Répondre :

Réponse :

Salut, le truc est tout bête en faite. Ou tu as mis les points d'interrogation il faut rajouter "s=0".

Le code donne:

x1=int(input())

x2=int(input())

i=x1

while (i>=x1 and i<=x2):

   nb=i

   s=0

   while (nb>0):

       r=nb%10

       nb=nb//10

       s += r*r*r

       if (i==s):

           print(s)

   i=i+1

Explications :

On voit bien que dans ta 2ème boucle, on fait appel à une variable "s".

Quand je prends ce morceau de code "s += r*r*r", c'est comme si je faisais s = s + (r*r*r) [s est égal à la valeur actuel de s plus r fois r fois r], hors s n'a pas de valeur par défaut, et n'est pas défini au par avant.

Donc il faut définir la variable "s", on ne ta pas donné de valeur par défaut pour "s", donc on va partir du principe que "s" commence à 0. Mais attention, on a besoin de cette variable "s" uniquement dans la dernière boucle, dans ce cas on doit savoir ou la positionné, bah on va la mettre juste avant le commencement de la première boucle.

Merci d'avoir visité notre site Web, qui traite d'environ Informatique. Nous espérons que les informations partagées vous ont été utiles. N'hésitez pas à nous contacter pour toute question ou demande d'assistance. À bientôt, et pensez à ajouter ce site à vos favoris !


Viz Asking: D'autres questions