On continue sur notre série. Le corrigé de l'exo6 est en fin d'article.
Enoncé de l'exo7 python initiation.: un nombre est il divisible par 3 ?
Réaliser une fonction qui retourne vrai ou faux à la question : un nombre est-il divisible par 3.
Pour répondre à la question et pour rendre l'exercice amusant, il faudra ajouter chaque digit du nombre et vérifier que leur somme est divisible par 3.
Exemple : 121 est-il divisible par 3 ? : 1+2+1 = 4
4 - 3 = 1 => 121 n'est pas divisible par 3.
123 : 1+2+3 = 6
6 - 3 - 3 = 0 => 123 est divisible par 3
Solution de l'exo6
def somme_impair(n): cp = 0 for x in range(1,n*2,2): cp+= x return cp print(somme_impair(2)) print(somme_impair(4)) print(somme_impair(10)) print(somme_impair(15)) cache = {} for x in range(1,20): cache[x] = somme_impair(x) print(cache) def avec_cache(n): if n in cache: return cache[n] else: cache[n] = somme_impair(n) return cache[n] print('avant cache') print(avec_cache(20000)) print('apres cache') print(avec_cache(20000))
Aucun commentaire:
Enregistrer un commentaire