Semaine 11
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
"""
|
||||
**Consignes :**
|
||||
1. Calculez le **nombre total** d'équipements et le **nombre d'équipements actifs**.
|
||||
2. Construisez la **liste des hostnames** dont le `type` est `"switch"`.
|
||||
3. Calculez la **latence moyenne des équipements actifs**.
|
||||
4. Affichez un rapport lisible (une ligne par indicateur), latence arrondie à **2 décimales**.
|
||||
"""
|
||||
|
||||
equipements = [
|
||||
{"hostname": "srv-web-01", "ip": "192.168.1.10", "type": "serveur", "actif": True, "latence_ms": 12.4},
|
||||
{"hostname": "sw-access-02", "ip": "192.168.1.2", "type": "switch", "actif": True, "latence_ms": 1.2},
|
||||
{"hostname": "rtr-core-01", "ip": "10.0.0.1", "type": "routeur", "actif": False, "latence_ms": 3.5},
|
||||
{"hostname": "sw-access-03", "ip": "192.168.1.3", "type": "switch", "actif": True, "latence_ms": 1.8},
|
||||
]
|
||||
|
||||
# 1. Nombre total d'équipements
|
||||
|
||||
def total_equipments(equipments):
|
||||
return f"{len(equipements)} équipements au total, {sum(e["actif"]for e in equipements)} actifs."
|
||||
|
||||
# 2. Liste des noms d'hôtes de type "Switch"
|
||||
|
||||
def name_equipments(equipments):
|
||||
return (e["hostname"] for e in equipments if e["type"]=="switch")
|
||||
|
||||
# 3. Calcul de la latence moyenne des équipements actifs
|
||||
|
||||
def latency_equipments(equipments):
|
||||
return f"{sum(e['latence_ms'] for e in equipments if e['actif']) / sum(e['actif'] for e in equipements):.2f}"
|
||||
|
||||
# 4. Rapport lisible avec une ligne par indicateur
|
||||
|
||||
print(total_equipments(equipements))
|
||||
print(list(name_equipments(equipements)))
|
||||
print(latency_equipments(equipements))
|
||||
Reference in New Issue
Block a user