Bonjour, j'ai écris une fonction sommech qui calcule la somme des chiffres d'un nombre entier donné dont voiçi mon code :
def sommech(n):
S=0
x=int(log10(n)+1)
for i in range (1,x+1):
S=S+(n%10)
n=n//10
return S
Cependant, je dois maintenant écrire une fonction iteresomch qui itère la somme des chiffres d'un entier naturel donné jusqu'à stabilisation et c'est à ce moment là que je suis bloqué. Comment faire en sorte que la somme s'itère jusqu'à stabilisation ?
L'algo pour calculer la somme des chiffres d'un nombre utilise normalement une boucle "while", comme ça pas besoin de logarithme :
def sommech(n):
r = 0
while n:
# r = r + n % 10
# n = n // 10
r, n = r + n % 10, n // 10
return r
À partir de là, la question est de savoir si tu connais l'instruction "yield" ? Si oui, il te suffit de le placer correctement au bon endroit dans cette algo et d'enlever le "return".
- Edité par Anonyme 15 septembre 2017 à 18:47:02
[RESOLU] Somme des chiffres d'un nombre entier
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.