# Collecte du taux de change
taux_usd = float(input("Entrez le taux de change CDF vers USD: "))
projections = []
total_cdf = 0.0
nb_projections = int(input("Nombre de projections pour la semaine: "))
for i in range(nb_projections):
print(f"\nProjection {i+1}:")
heure = input("Heure (HH:MM): ")
titre = input("Titre du film: ")
# Validation du nombre total de personnes
total_personnes = int(input("Nombre total de personnes (120-270): "))
while total_personnes < 120 or total_personnes > 270:
print("Erreur: Le nombre doit être entre 120 et 270.")
total_personnes = int(input("Nombre total de personnes (120-270): "))
# Validation des tarifs
normal = int(input("Nombre de personnes au tarif normal: "))
reduit = int(input("Nombre de personnes au tarif réduit: "))
while normal + reduit != total_personnes:
print("Erreur: La somme doit égaler le total.")
normal = int(input("Nombre de personnes au tarif normal: "))
reduit = int(input("Nombre de personnes au tarif réduit: "))
# Validation du prix
prix = float(input("Prix fixé par le patron (≥3000 CDF): "))
while prix < 3000:
print("Erreur: Le prix doit être ≥3000 CDF.")
prix = float(input("Prix fixé par le patron (≥3000 CDF): "))
# Calcul du prix réduit
h, _ = map(int, heure.split(':'))
if h < 17:
prix_reduit = prix * 0.9
else:
prix_reduit = prix * 0.94
# Calcul de la recette et des dépenses
recette = (normal * prix) + (reduit * prix_reduit)
depenses = recette * 0.02
# Ajout à la liste
projections.append({
"Numéro": i+1,
"Heure": heure,
"Titre": titre,
"Total personnes": total_personnes,
"Prix normal": prix,
"Prix réduit": prix_reduit,
"Recette": recette,
"Dépenses": depenses
})
total_cdf += recette
# Calcul des totaux
total_depenses_cdf = sum(p["Dépenses"] for p in projections)
total_usd = total_cdf / taux_usd
total_depenses_usd = total_depenses_cdf / taux_usd
# Rapport détaillé
print("\n=== Rapport Hebdomadaire Détaillé ===")
for proj in projections:
print(f"\nProjection #{proj['Numéro']}")
print(f"Heure: {proj['Heure']} | Titre: {proj['Titre']}")
print(f"Personnes: {proj['Total personnes']} (Normal: {proj['Prix normal']} CDF x {proj['Total
personnes'] - proj.get('Nombre réduit', 0)}, Réduit: {proj['Prix réduit']:.2f} CDF x {proj.get('Nombre
réduit', 0)})")
print(f"Recette: {proj['Recette']:.2f} CDF | Dépenses: {proj['Dépenses']:.2f} CDF")
# Totaux
print("\n=== Totaux Hebdomadaires ===")
print(f"Recette Totale (CDF): {total_cdf:.2f}")
print(f"Dépenses Totales (CDF): {total_depenses_cdf:.2f}")
print(f"Recette Totale (USD): {total_usd:.2f}")
print(f"Dépenses Totales (USD): {total_depenses_usd:.2f}")