onizuka_f8hc13gvic48gm22_333.py

49,00 

Simuler la création d’un projet urbain incluant des habitants et des infrastructures hôtelières, puis exporter les données.

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_f8hc13gvic48gm22_333.py

Version 1.0.0

Date de création 19/03/2026

Auteur / Demandeur IA Générée (Modèle Gemini)

Objectif principal Simuler la création d’un projet urbain incluant des habitants et des infrastructures hôtelières, puis exporter les données.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script génère de manière aléatoire un scénario d’aménagement urbain. Il crée une population de citoyens avec des professions variées, définit un périmètre de projet (surface, densité, dates) et ajoute un hôtel. Les résultats sont calculés, affichés en console et sauvegardés dans un fichier texte structuré.

📌 Problème résolu

Il permet de modéliser rapidement des données de test ou des scénarios fictifs pour de la planification urbaine simplifiée, tout en automatisant le calcul de métriques clés comme la densité de population ou la durée de chantier.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.9+ (utilisation de typing.List, Optional, Path)

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution CLI (Ligne de commande)

📦 Dépendances / Librairies

Librairies standard (built-in) :

random : Génération des données aléatoires.

datetime : Gestion des calendriers et durées.

logging : Journalisation des événements et erreurs.

pathlib : Manipulation robuste des chemins de fichiers.

typing : Typage statique des variables.

📥 ENTRÉES (INPUTS)

📂 Fichiers / Sources de données

Le script ne prend pas de fichier externe en entrée mais utilise des constantes internes (ex: liste PROFESSIONS).

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Type Chemin / Format Description

Log Console Suivi de l’exécution (INFO/ERROR).

Texte resultats_simulation.txt Rapport complet et lisible du projet urbain.

Dictionnaire Variable resultats Structure de données JSON-like retournée par simuler().

🧱 STRUCTURE DU SCRIPT

onizuka_f8hc13gvic48gm22_333.py

IMPORTS (logging, random, datetime, etc.)

CLASSES

Personne : Modèle de citoyen.

ProjetUrbain : Modèle de zone géographique et planning.

Hotel : Modèle d’infrastructure.

SimulateurUrbain : Orchestrateur de la logique métier.

FONCTIONS

main() : Point d’entrée.

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

Personne.to_dict() Aucun dict Sérialise l’objet pour l’export.

simuler() nombre_personnes: int dict Génère les objets, calcule les stats et lance la sauvegarde.

sauvegarder_resultats() resultats: dict None Écrit le rapport structuré dans le fichier de sortie.

🔄 LOGIQUE / ALGORITHME

Initialisation : Configuration du Logger et définition du nom du fichier de sortie.

Génération :

Instanciation de N objets Personne (noms et métiers aléatoires).

Instanciation d’un ProjetUrbain (calcul automatique de la date de fin entre 365 et 730 jours).

Instanciation d’un Hotel.

Traitement : Calcul de la densité (habitants/surface) et de la durée totale.

Export : Écriture ligne par ligne dans le fichier .txt avec gestion des erreurs via bloc try/except.

🚨 GESTION DES ERREURS

Cas d’erreur Type d’exception Comportement attendu

Échec écriture disque IOError Log l’erreur et propage l’exception.

Erreur logique simulation Exception globale Capture l’erreur dans les logs avec message explicite.

Surface nulle (0) Division par zéro Géré via une condition dans la propriété densite_population.

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : L’âge des personnes est compris entre 18 et 65 ans.

Règle 2 : La durée d’un projet est comprise entre 1 et 2 ans (365 à 730 jours).

Règle 3 : Le fichier de sortie est encodé en UTF-8 pour supporter les caractères accentués.

🧪 TESTS ATTENDUS

Cas nominal : Lancer le script et vérifier la présence de 15 personnes dans resultats_simulation.txt.

Robustesse : Vérifier que si la surface générée est très petite, la densité reste un nombre valide.

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python onizuka_f8hc13gvic48gm22_333.py

📋 Exemple de sortie console attendue

Plaintext

2026-03-19 10:43:26,000 – INFO – Simulation terminée avec succès – 15 personnes générées

2026-03-19 10:43:26,001 – INFO – Résultats sauvegardés dans resultats_simulation.txt

=== STATISTIQUES DE LA SIMULATION ===

Nombre de personnes: 15

Densité de population: 450.5 hab/ha

Durée du projet: 512 jours

Hôtel: Hôtel_42

Avis

Il n’y a pas encore d’avis.

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

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