Academy Untelcom
Exercice Python · niveau 4 · cas_composes

Festival culturel (capstone)

Festivo facture un pass festival avec formules, remises et suppléments.

Énoncé

On reprend ton **Exercice 74** (PDF). Calcule le prix d'un pass festival. 1. **Tarif par jour** : `Standard` 50 €, `Premium` 100 €, `VIP` 200 €. Base = tarif × `jours`. 2. **Remises additionnées sur la base** : - pays : `France` −10 %, `Europe` −5 %, autre 0 % ; - statut : `Étudiant` −15 %, `Employé` −10 %, `Retraité` −20 %, autre 0 % ; - durée : plus de 5 jours → −10 %. On additionne ces taux et on les applique à la base. 3. **Suppléments** (ajoutés après remise) : spectacles +20 €/jour, dîner +50 €/jour. 4. **Promo** (`promo=True`) : −5 % sur le sous-total. 5. Arrondir à 2 décimales. `prix_festival("Premium", "France", 6, "Étudiant", True, False, True)` → **484.50**.

Signature attendue: def prix_festival(formule, pays, jours, statut, spectacles, diner, promo):

Règle

RÈGLE CANONIQUE (ordre fixé) : tarif_jour = 50/100/200 selon la formule ; base = tarif_jour * jours. taux = remise_pays(France .10 / Europe .05 / 0) + remise_statut(Etudiant .15 / Employe .10 / Retraite .20 / 0) + (0.10 si jours > 5 sinon 0). apres_remise = base * (1 - taux). supplements = (20 si spectacles else 0)*jours + (50 si diner else 0)*jours. sous_total = apres_remise + supplements. Si promo : sous_total *= 0.95. Arrondi 2 décimales. Note : les remises sont ADDITIVES et s'appliquent à la base seule ; les suppléments ne sont pas remisés.

Tests visibles

Aides progressives

Faire l'exercice interactif