Python : Fix trouble for exercise "somme_chiffre" of chatper 8


#1




Oups, merci de réessayer. Votre fonction a échoué sur 434 comme entrée car votre fonction indique "'int' object is not callable" error.


correct


def somme_chiffre(n):
    result = 0
    while ((n // 10) != 0):
        result += (n % 10)
        n = (n // 10)
    result += n
    return result


print somme_chiffre(4312)


#2

bonjour @tixuoty

Vous n'avez pas besoin d'une boucle while pour cet exercice et il sera beaucoup plus facile d'utiliser une boucle for,

for i in str(n):
    result += int(i)
return result

Tu vois! simple

Á la place de,

Ton result variable est bon,


#3

Oui en effet mais l enonce indiquait que ce serait plus un challenge d
utiliser le modulo % et //.
Mon code fonctionne mais il ne peut être valide voilà mon problème.


#4

Quelle error obtenez vous?


#5

J'obtiens le message d"erreur :
"Oups, merci de réessayer. Votre fonction a échoué sur 434 comme entrée car
votre fonction indique "'int' object is not callable" error"
dans une boite de dialogue alors que le resultat est correcte dans la
console python qui indique la reponse.


#6

Hmmm, Ok, prenons votre code et essayez de simplifier le défi parce que cette erreur semble très bizarre pour moi, et j'expliquera chaque ligne,

def somme_chiffre(n):
    result = 0 #Résultat var global
    while n != 0: #etat de boucle
        result += n % 10 #modulo operation
        n = n // 10 #sol division
     return result #resultat en fin!

Voir! La beauté dans la simplicité :smile:


#7

Merci j'ai essayé mais l'erreur est identique !


#8

Le probleme ne semble pas etre le code comme je l'ai deja indique mais un bug de codeacademy


#9

Oui, ton code est droite. :slight_smile: essayez le sur une console python en dehors de codecademy


#10

your solution is correct, this exercise is indeed bugged.

place this as your code:

def somme_chiffre(n):
     return somme_chiffre

it is a workaround, this way, you can "pass" the exercise


#11

Thank you !
It works


#12

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.