Exercice 21
Ecrire une fonction en langage Python nommée somme_alternee(n) qui prend en entrée un nombre entier n et calcule et renvoie la somme alternée des chiffres en débutant par une addition pour le premier chiffre, une soustraction pour le deuxième, une addition pour le troisième, etc. Exemple : pour n = 12345, le calcul est 1 - 2 + 3 - 4 + 5 = 3.
Solution
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
def somme_alternee(n): # On initialise la somme à 0 s = 0 # On utilise une variable booléenne pour savoir s'il faut ajouter (True) ou soustraire (False). # Comme on commence par ajouter le premier chiffre, on la met à True. addition = True # On convertit le nombre en chaîne de caractères pour pouvoir parcourir facilement chaque chiffre for chiffre in str(n): # Si addition est True, on ajoute le chiffre à la somme if addition: s += int(chiffre) # On convertit chiffre en entier avant de l'ajouter # Sinon, on soustrait le chiffre de la somme else: s -= int(chiffre) # On convertit chiffre en entier avant de le soustraire # On inverse la valeur de addition (si c'était True -> False, si c'était False -> True) addition = not addition # À la fin de la boucle, s contient la somme alternée, donc on la renvoie return s # Exemple d'utilisation : print(somme_alternee(12345)) # Résultat attendu : 3 |
Younes Derfoufi
CRMEF OUJDA



