ioCode
Chemins d'exécution (if/elif/else)
Fonctions • Exercices 1A
- Écrire une fonction1IndiceProcéder par disjonction des cas avec
if ... elif ... elif ... else ....convertir(montant: float, source: str, cible: str) -> floatqui renvoie le montant converti dans la devise cible selon des taux fixes. Prendre les monnaies"EUR", "GBP"et"USD". Les taux sont :- EUR USD : 1.08
- EUR GBP : 1.08
- USD GBP : 0.79
Par exemple
convertir(100.0, "EUR", "USD")renvoie108.0.
- Écrire une fonction2IndiceAppliquer le tarif puis gérer le statut du chauffeur.
prix_covoiturage(d_km: float, cat_voiture: str, statut_c: str) -> floatqui calcule le prix total du trajet en fonction de la catégorie de véhicule et du statut du chauffeur. Un chauffeur professionnel coûte 1.2 fois plus cher qu'un chauffeur particulier. Prendre les catégories"ECONOMIQUE", "STANDARD", "LUXE". Les statuts des chauffeurs sont :"PARTICULIER", "PROFESSIONNEL". Les tarifs par km sont :- Économique : 0.15
- Standard : 0.25
- Luxe : 0.40
Par exemple
prix_covoiturage(50.0, "ECONOMIQUE", "PARTICULIER")renvoie12.5.
- Écrire une fonction3IndiceBien garantir l'exclusion mutuelle des conditions.
taxe_revenu(revenu: float) -> floatqui calcule la taxe annuelle appliquée selon des tranches de revenus progressives. Par exempletaxe_revenu(30000.0)renvoie9000.0. Les tranches et les taux associés sont :- [|0, 10000|[ : 0.0
- [|10000, 25000|[ : 0.11
- [|25000, 50000|[ : 0.30
- à partir de 50000 : 0.45
- Écrire une fonction4
remise(adherent: bool, montant_initial: float) -> floatqui renvoie le prix final après application des remises pour les adhérents et des réductions conditionnelles. Par exempleremise(True, 100.0)renvoie90.0.- Un adhérent se voit appliquer une réduction de 10%.
- Au-delà d'un montant initial de 100€, on applique une réduction de 5€.
- Les deux rédutions sont cumulables.
Langage
Console initialisée. En attente de l'interpréteur...