Add somme-chiffres in algo and py
This commit is contained in:
parent
f248ade2e5
commit
13970cb831
2 changed files with 38 additions and 0 deletions
|
@ -1,4 +1,18 @@
|
|||
Algorithme : Somme des chiffres d'un entier N donné
|
||||
|
||||
Début
|
||||
|
||||
Fonction SommeChiffres(N : int, somme : int)
|
||||
chiffre : Entier <- N[0]
|
||||
Si chiffre = NIL
|
||||
Retourner(somme)
|
||||
Sinon
|
||||
somme = somme + chiffre
|
||||
Dépiler(N)
|
||||
Retourner(SommeChiffres(N, somme))
|
||||
FinSi
|
||||
FinFonction
|
||||
|
||||
Afficher(SommeChiffres(123, 0))
|
||||
|
||||
Fin
|
||||
|
|
24
algorithmique/recursivite/somme-chiffres.py
Normal file
24
algorithmique/recursivite/somme-chiffres.py
Normal file
|
@ -0,0 +1,24 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
"""Algorithme : Somme des chiffres d'un entier N donné"""
|
||||
|
||||
|
||||
def main():
|
||||
print(SommeChiffres("123"))
|
||||
|
||||
|
||||
def SommeChiffres(N : str, somme: int = 0) -> int:
|
||||
nombre = [int(n) for n in N]
|
||||
try:
|
||||
chiffre = nombre[0]
|
||||
except IndexError:
|
||||
return somme
|
||||
else:
|
||||
somme += chiffre
|
||||
nombre.pop(0)
|
||||
N = "".join(str(n) for n in nombre)
|
||||
return SommeChiffres(N, somme)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in a new issue