vendredi 19 mai 2023

Exo7 python initiation

 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: