Exercices Fonctions & Modules Calculer une taxe avec une fonction
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Calculer une taxe avec une fonction

Voici un cas concret de higher-order function. Imagine que tu dois calculer la taxe sur un salaire, mais la méthode de calcul peut varier. Plutot que de coder la formule en dur, tu passes la fonction de calcul en paramètre.

C'est exactement le principe du pattern 'stratégie' : tu séparés le 'quoi faire' (calculer une taxe) du 'comment le faire' (la formule).

import math

def taxe_simple(montant):
return math.ceil(montant * 0.3)

def calculer_taxe(salaire, func_calcul):
return func_calcul(salaire)

calculer_taxe(45000, taxe_simple) # renvoie 13500

Écris deux choses :
1. Une fonction taxe_progressive(montant) qui applique 20 pourcent sur les premiers 30000, puis 40 pourcent sur le reste. Le résultat est arrondi a l'entier superieur avec math.ceil.
2. Une fonction calculer_taxe(salaire, func_calcul) qui applique func_calcul sur le salaire.

Exemple :
calculer_taxe(50000, taxe_progressive) renvoie 14000
(car 30000 * 0.2 = 6000 + 20000 * 0.4 = 8000 = 14000)

Tests (4/5)

50000 progressif
assert calculer_taxe(50000, taxe_progressive) == 14000
30000 progressif
assert calculer_taxe(30000, taxe_progressive) == 6000
20000 progressif
assert calculer_taxe(20000, taxe_progressive) == 4000
0 progressif
assert calculer_taxe(0, taxe_progressive) == 0

+ 0 tests cachés

Indices (3 disponibles)

solution.py