formatte file

This commit is contained in:
2025-04-01 14:28:43 +02:00
parent f2ae2cbc13
commit e03e5458aa
77 changed files with 1231 additions and 945 deletions

View File

@@ -13,6 +13,7 @@
# Un ensemble est une collection d'éléments, d'occurence unique.
# Les fonctions sont implémentées dans le paradigme fonctionnel.
def initialiser_ensemble():
"""
Construit un ensemble vide.
@@ -26,11 +27,12 @@ def initialiser_ensemble():
Pré-condition :
- aucune
Effet de bord
Effet de bord
- aucune
"""
return set()
def est_ensemble_vide(ensemble):
"""
Teste si l'ensemble est vide.
@@ -46,6 +48,7 @@ def est_ensemble_vide(ensemble):
"""
return len(ensemble) == 0
def copier_ensemble(ensemble):
"""
Construit la copie d'un ensemble.
@@ -67,6 +70,7 @@ def copier_ensemble(ensemble):
resultat.add(_)
return resultat
def ajouter(ensemble, element):
"""
Ajoute un element à la copie d'un ensemble
@@ -88,10 +92,11 @@ def ajouter(ensemble, element):
resultat.add(element)
return resultat
def supprimer(ensemble, element):
"""
Construire une copie de l'ensemble privé d'un élément.
Si l'élément à supprimer n'est pas dans l'ensemble initial,
Si l'élément à supprimer n'est pas dans l'ensemble initial,
alors une copie intégrale est renvoyée.
Paramètres :
@@ -103,11 +108,12 @@ def supprimer(ensemble, element):
"""
resultat = initialiser_ensemble()
for _ in ensemble:
if not(_ == element):
if not (_ == element):
resultat = ajouter(resultat, _)
return resultat
def rechercher(ensemble, cle, critere = lambda x, y: x==y):
def rechercher(ensemble, cle, critere=lambda x, y: x == y):
"""
Construit la sous-collection constituée des éléments d'un ensemble
dont la clé satisfait un critère donné.
@@ -132,9 +138,10 @@ def rechercher(ensemble, cle, critere = lambda x, y: x==y):
resultat = ajouter(resultat, _)
return resultat
def supprimer_critere(ensemble, cle, critere):
"""
Construit la collection des éléments d'un ensemble,
Construit la collection des éléments d'un ensemble,
dont la clé satisfait le critère donné.
Paramètres :
@@ -157,9 +164,10 @@ def supprimer_critere(ensemble, cle, critere):
resultat = supprimer(resultat, _)
return resultat
def lister(ensemble, affichage=print):
"""
Afficher le contenu d'un ensemble,
Afficher le contenu d'un ensemble,
en formattant chaque élément selon la fonction d'affichage fournie.
Paramètres :
@@ -180,6 +188,5 @@ def lister(ensemble, affichage=print):
return None
if __name__ == "__main__":
pass

View File

@@ -13,6 +13,7 @@
# Un ensemble est une collection d'éléments, d'occurence unique.
# Les fonctions sont implémentées dans le paradigme fonctionnel.
def initialiser_ensemble():
"""
Construit un ensemble vide.
@@ -31,6 +32,7 @@ def initialiser_ensemble():
"""
return list()
def est_ensemble_vide(ensemble):
"""
Teste si l'ensemble est vide.
@@ -46,6 +48,7 @@ def est_ensemble_vide(ensemble):
"""
return len(ensemble) == 0
def copier_ensemble(ensemble):
"""
Construit la copie d'un ensemble.
@@ -64,6 +67,7 @@ def copier_ensemble(ensemble):
"""
return ensemble[:]
def ajouter(ensemble, element):
"""
Ajoute un element à la copie d'un ensemble
@@ -85,10 +89,11 @@ def ajouter(ensemble, element):
copie.append(element)
return copie
def supprimer(ensemble, element):
"""
Construire une copie de l'ensemble privé d'un élément.
Si l'élément à supprimer n'est pas dans l'ensemble initial,
Si l'élément à supprimer n'est pas dans l'ensemble initial,
alors une copie intégrale est renvoyée.
Paramètres :
@@ -101,7 +106,8 @@ def supprimer(ensemble, element):
resultat = ensemble[:]
return resultat.remove(element)
def rechercher(ensemble, cle, critere = lambda x, y: x==y):
def rechercher(ensemble, cle, critere=lambda x, y: x == y):
"""
Construit la sous-collection constituée des éléments d'un ensemble
dont la clé satisfait un critère donné.
@@ -122,9 +128,10 @@ def rechercher(ensemble, cle, critere = lambda x, y: x==y):
"""
return [element for element in ensemble if critere(element, cle)]
def supprimer_critere(ensemble, cle, critere):
"""
Construit la collection des éléments d'un ensemble,
Construit la collection des éléments d'un ensemble,
dont la clé satisfait le critère donné.
Paramètres :
@@ -141,11 +148,12 @@ def supprimer_critere(ensemble, cle, critere):
Effet de bord :
- aucun
"""
return [element for element in ensemble if not critere(element,cle)]
return [element for element in ensemble if not critere(element, cle)]
def lister(ensemble, affichage=print):
"""
Afficher le contenu d'un ensemble,
Afficher le contenu d'un ensemble,
en formattant chaque élément selon la fonction d'affichage fournie.
Paramètres :
@@ -163,5 +171,7 @@ def lister(ensemble, affichage=print):
"""
for item in ensemble:
affichage(item)
if __name__ == "__main__":
pass

View File

@@ -15,6 +15,7 @@
# - altitude : INT, altitude en m
# - massif : STR
def creer_sommet(nom, altitude, massif):
"""
Construit le tuple sommet.
@@ -30,11 +31,12 @@ def creer_sommet(nom, altitude, massif):
Pré-condition :
- aucune (programmation défensive à envisager)
Effet de bord :
- aucun
Effet de bord :
- aucun
"""
return (nom, altitude, massif)
def altitude_en_m(altitude):
"""
Conversion de l'altitude en entier ("2 062 m" -> 2062)
@@ -51,18 +53,19 @@ def altitude_en_m(altitude):
Effet de bord :
- aucun
"""
tmp = ''
tmp = ""
for symbole in altitude:
if not(symbole in ' m'):
if not (symbole in " m"):
tmp += symbole
return int(tmp)
def creer_sommet_csv(ligne, massif):
"""
Construit un sommet à partir d'une ligne du fichier csv.
Paramètres :
- ligne : STR, ligne du fichier csv
- ligne : STR, ligne du fichier csv
- massif : STR, basename du fichier contenant la ligne
Résultat :
@@ -74,9 +77,10 @@ def creer_sommet_csv(ligne, massif):
Effet de bord :
- aucun
"""
nom, alt = ligne.rstrip().split(',')
nom, alt = ligne.rstrip().split(",")
return creer_sommet(nom, altitude_en_m(alt), massif)
def afficher(sommet):
"""
Affichage formatté du sommet.
@@ -94,9 +98,10 @@ def afficher(sommet):
- Affichage sur la sortie standard
"""
nom, altitude, massif = sommet
print(f'{nom:35s}\t[{massif}]\n\taltitude : {altitude} m')
print(f"{nom:35s}\t[{massif}]\n\taltitude : {altitude} m")
return None
def nom(sommet):
"""
Consulte le nom d'un sommet
@@ -111,10 +116,11 @@ def nom(sommet):
- aucune
Effet de bord :
- aucun
- aucun
"""
return sommet[0]
def altitude(sommet):
"""
Consulte l'altitude d'un sommet
@@ -129,10 +135,11 @@ def altitude(sommet):
- aucune
Effet de bord :
- aucun
- aucun
"""
return sommet[1]
def massif(sommet):
"""
Consulte le massif d'un sommet
@@ -147,10 +154,11 @@ def massif(sommet):
- aucune
Effet de bord :
- aucun
- aucun
"""
return sommet[2]
def coincide_nom(sommet, motif):
"""
Compare le nom du sommet au motif
@@ -169,7 +177,8 @@ def coincide_nom(sommet, motif):
- aucun
"""
nom_sommet = nom(sommet)
return (len(motif) <= len(nom_sommet)) and (nom_sommet[:len(motif)] == motif)
return (len(motif) <= len(nom_sommet)) and (nom_sommet[: len(motif)] == motif)
if __name__ == '__main__':
if __name__ == "__main__":
pass

View File

@@ -16,6 +16,7 @@
# - altitude : INT, altitude en m
# - massif : STR
def creer_sommet(nom, altitude, massif):
"""
Construit le dico sommet.
@@ -31,17 +32,14 @@ def creer_sommet(nom, altitude, massif):
Pré-condition :
- aucune (programmation défensive à envisager)
Effet de bord :
- aucun
Effet de bord :
- aucun
"""
sommet = {
"Nom": nom,
"Altitude": altitude,
"Massif": massif
}
sommet = {"Nom": nom, "Altitude": altitude, "Massif": massif}
return sommet
def altitude_en_m(altitude):
"""
Conversion de l'altitude en entier ("2 062 m" -> 2062)
@@ -58,18 +56,19 @@ def altitude_en_m(altitude):
Effet de bord :
- aucun
"""
tmp = ''
tmp = ""
for symbole in altitude:
if not(symbole in ' m'):
if not (symbole in " m"):
tmp += symbole
return int(tmp)
def creer_sommet_csv(ligne, massif):
"""
Construit un sommet à partir d'une ligne du fichier csv.
Paramètres :
- ligne : STR, ligne du fichier csv
- ligne : STR, ligne du fichier csv
- massif : STR, basename du fichier contenant la ligne
Résultat :
@@ -81,9 +80,10 @@ def creer_sommet_csv(ligne, massif):
Effet de bord :
- aucun
"""
nom, alt = ligne.rstrip().split(',')
nom, alt = ligne.rstrip().split(",")
return creer_sommet(nom, altitude_en_m(alt), massif)
def afficher(sommet):
"""
Affichage formatté du sommet.
@@ -101,7 +101,9 @@ def afficher(sommet):
- Affichage sur la sortie standard
"""
print(f"{sommet['Nom']:35s}\t[{sommet['Massif']}]\n\taltitude : {sommet['Altitude']} m")
print(
f"{sommet['Nom']:35s}\t[{sommet['Massif']}]\n\taltitude : {sommet['Altitude']} m"
)
def nom(sommet):
@@ -118,9 +120,11 @@ def nom(sommet):
- aucune
Effet de bord :
- aucun
- aucun
"""
return sommet["Nom"]
def altitude(sommet):
"""
Consulte l'altitude d'un sommet
@@ -135,9 +139,11 @@ def altitude(sommet):
- aucune
Effet de bord :
- aucun
- aucun
"""
return sommet['Altitude']
return sommet["Altitude"]
def massif(sommet):
"""
Consulte le massif d'un sommet
@@ -152,9 +158,11 @@ def massif(sommet):
- aucune
Effet de bord :
- aucun
- aucun
"""
return sommet["Massif"]
def coincide_nom(sommet, motif):
"""
Compare le nom du sommet au motif
@@ -174,7 +182,8 @@ def coincide_nom(sommet, motif):
"""
nom_sommet = nom(sommet)
return (len(motif) <= len(nom_sommet)) and (nom_sommet[:len(motif)] == motif)
return (len(motif) <= len(nom_sommet)) and (nom_sommet[: len(motif)] == motif)
if __name__ == '__main__':
if __name__ == "__main__":
pass

View File

@@ -16,17 +16,18 @@ import _sommets as som
# Le module _collection définit nos ENSEMBLES
# Le module _sommets définit nos SOMMETS
def file_2_set(fichier='./data/Chartreuse.csv'):
def file_2_set(fichier="./data/Chartreuse.csv"):
"""
Lecture du fichier csv contenant les caractéristiques des sommets.
Paramètres :
- fichier : STR, le nom complet du fichier csv à parcourir
Résultat :
Résultat :
- resultat : ENSEMBLE, la collection des sommets
Pré-conditions :
Pré-conditions :
- aucune
Effets de bord :
@@ -41,27 +42,29 @@ def file_2_set(fichier='./data/Chartreuse.csv'):
ligne = src.readline()
return resultat
def rechercher(ensemble, motif):
"""
Recherche les sommets de la collection dont le nom
Recherche les sommets de la collection dont le nom
correspond à un motif donné.
Paramètres :
- ensemble : ENSEMBLE, la collection des somets
- motif : STR, la chaîne de caractères à identifier
Résultat :
Résultat :
- ENSEMBLE, la sous-collection des sommets satisfaisant au critère
Pré-condition :
Pré-condition :
- aucune
Effet de bord :
- aucun
- aucun
"""
return col.rechercher(ensemble, motif, som.coincide_nom)
if __name__ == '__main__':
col.lister(col.supprimer_critere(file_2_set(), 'Grand', som.coincide_nom), \
som.afficher)
if __name__ == "__main__":
col.lister(
col.supprimer_critere(file_2_set(), "Grand", som.coincide_nom), som.afficher
)