Votre programme doit lire trois nombres décimaux : la valeur actuelle de la taxe sur les fruits et légumes (en pourcentage), la nouvelle valeur de la taxe (en pourcentage), puis le prix actuel d'un légume, taxes comprises, en euros. Il devra calculer et afficher le prix du légume avec la nouvelle valeur de la taxe, arrondi au centime près.
entrée :
5.5 19.6 24.9
sortie :
28.23
entrée :
21.5 21.5 19.99
sortie :
19.99
from math import * taxeActuelle = float(input()) taxeFuture = float(input()) prixLegume = float(input()) nouveauPrix = prixLegume / ( 1 + taxeActuelle / 100) * (1 + taxeFuture / 100) nouveauPrix = round(nouveauPrix * 100) / 100 print(nouveauPrix)
math
pour disposer de la fonction round
.from math import *
.C'est essentiellement un problème de mathématiques.
On rappelle que :
Ainsi faire varier une quantité de revient à multiplier par . Et annuler une variation de revient à diviser par ce même coefficient. Ceci étant valable avec positif ou négatif.
Pour notre problème, on a :
On déduit le code :
t_1 = float(input()) t_2 = float(input()) prix_avec_taxe1 = float(input()) prix_hors_taxe = prix_avec_taxe1 / (1 + t_1 /100) prix_avec_taxe2 = prix_hors_taxe * (1 + t_2 /100) print(round(prix_avec_taxe2, 2))
round(x, 2)
permet d'avoir un arrondi de x
avec 2 chiffres après la virgule.
Une autre possibilité pour cet arrondi est de calculer round(100 * x) / 100