script_042cvmn_042.py

49,00 

Simuler la croissance exponentielle d’une population bactérienne sur une durée définie et exporter les résultats dans un fichier CSV.

UGS : script_042cvmn_042.py Catégorie : Étiquette :

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_042cvmn_042.py

Version 1.0.0

Date de création 17/03/2026

Auteur / Demandeur refoïa jeremy

Objectif principal Simuler la croissance exponentielle d’une population bactérienne sur une durée définie et exporter les résultats dans un fichier CSV.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script calcule l’évolution d’une population de bactéries heure par heure en utilisant une formule de croissance exponentielle. Il génère une liste de dictionnaires contenant le temps et la population associée, puis sauvegarde ces données dans un fichier structuré pour une analyse ultérieure.

📌 Problème résolu

Il automatise le calcul itératif de modèles biologiques simples et permet de transformer des paramètres théoriques (taux, population initiale) en un jeu de données exploitable (CSV) sans calcul manuel.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution CLI / Script autonome

📦 Dépendances / Librairies

# Librairies standard (built-in)

math : Pour les fonctions exponentielles.

csv : Pour la manipulation et l’écriture du fichier de sortie.

📥 ENTRÉES (INPUTS)

# Nom Type Obligatoire Description Exemple

1 n0 int ✅ Oui Population initiale 100

2 taux float ✅ Oui Taux de croissance horaire 0.3

3 duree_h int ✅ Oui Durée de la simulation (heures) 24

📂 Fichiers / Sources de données en entrée

Aucun fichier externe requis (paramètres codés en dur dans la section exécution).

📤 SORTIES (OUTPUTS)

# Nom Type Description Exemple

1 resultats list[dict] Liste des points de données calculés {« Heure »: 1, « Population »: 134.99}

📂 Fichiers / Données en sortie

Type Chemin / Format Description

CSV resultats_biologie.csv Contient les colonnes « Heure » et « Population ».

🧱 STRUCTURE DU SCRIPT

script_042cvmn_042.py

├── 📌 IMPORTS (math, csv)

├── 📌 FONCTIONS

│ └── simuler_croissance_bacterienne() → Cœur du calcul mathématique

├── 📌 CONSTANTES / PARAMÈTRES (Définition de n0, taux, temps_total)

└── 📌 MAIN / EXÉCUTION (Lancement du calcul et bloc try/except pour l’écriture CSV)

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

simuler_croissance_bacterienne n0, taux, duree_h list Calcule N(t)=N0​⋅ert pour chaque t.

🔄 LOGIQUE / ALGORITHME

ÉTAPE 1 → Initialisation de la liste vide resultats.

ÉTAPE 2 → Boucle for de 0 à duree_h.

ÉTAPE 3 → Application de la formule : Population=n0×e(taux×t).

ÉTAPE 4 → Arrondi à 2 décimales et ajout au dictionnaire.

ÉTAPE 5 → Tentative d’ouverture du fichier CSV et écriture de l’en-tête + données.

🚨 GESTION DES ERREURS

Cas d’erreur Type d’exception Comportement attendu

Échec d’écriture fichier Exception (générique) Affiche un message d’erreur explicite dans la console.

Droits d’accès (fichier ouvert) PermissionError Capturé par le bloc except global.

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : La population est arrondie à deux chiffres après la virgule pour la précision scientifique.

Règle 2 : L’heure 0 (état initial) est toujours incluse dans les résultats.

Règle 3 : Le format CSV utilise le newline= » pour éviter les sauts de ligne vides sous Windows.

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu Statut

1 Cas nominal 100, 0.3, 24 Fichier créé avec 25 lignes de données. ⬜ À tester

2 Croissance nulle taux = 0 Population constante (100) à chaque heure. ⬜ À tester

3 Durée zéro duree = 0 Une seule ligne (Heure 0). ⬜ À tester

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python script_042cvmn_042.py

📋 Exemple de sortie attendue (Console)

Plaintext

Succès ! Les résultats ont été enregistrés dans resultats_biologie.csv

Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “script_042cvmn_042.py”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *