Thème : Les données structurées et leur traitement

Exercice 3 : Les tris et les filtres

Question

Afficher les communes au nord de Bressuire classées par ordre croissant de code postal.

Indice

Le nord et le sud sont définis par la latitude.

Indice

La latitude est définie dans la colonne n°8.

Indice

Le code postal est défini dans la colonne n°2.

Indice

Il faut commencer par le tri puis rechercher la latitude de BRESSUIRE (la casse est importante) et enfin effectuer le filtre.

Solution

Tri croissant suivant le code postal

1
tableau.sort(key=lambda x:x[1],reverse=False)
2

Recherche de la latitude de Bressuire

1
for i in range(len(tableau)):
2
    if tableau[i][2]=='BRESSUIRE':
3
        latitude=tableau[i][7]

Affichage des communes au nord de Bressuire

1
for i in range(len(tableau)):
2
    if tableau[i][7]>latitude:
3
        print(tableau[i])

Question

Afficher les communes dont le nom est composé de plusieurs mots, classées d'est en ouest.

Indice

L'ouest et l'est sont définis par la longitude. Les valeurs augmentent quand on se déplace vers l'est.

Indice

La longitude est définie dans la colonne n°9.

Indice

Les noms composés comporte un tiret ('-' in tableau[i][j]) ou un espace (' ' in tableau[i][j]).

Indice

Le nom des communes est défini dans la colonne n°3.

Indice

Il faut commencer par le tri puis effectuer le filtre.

Solution

Tri décroissant suivant la longitude (d'est en ouest)

1
tableau.sort(key=lambda x:x[8],reverse=True)

Affichage des communes ayant un nom composé

1
for i in range(len(tableau)):
2
    if '-' in tableau[i][2] or ' ' in tableau[i][2] :
3
        print(tableau[i])

Question

Afficher la commune ayant la plus petite superficie et celle qui a la plus grande superficie.

Indice

La superficie est définie dans la colonne n°6.

Indice

La première ligne du tableau est tableau[0]. La dernière ligne du tableau est [-1].

Solution

Tri croissant suivant la superficie.

1
tableau.sort(key=lambda x:x[5],reverse=False)

Affichage de la commune ayant la plus petite superficie

1
print(tableau[0])

Affichage de la commune ayant la plus petite superficie

1
print(tableau[-1])

Question

Afficher les communes qui seraient menacées si le niveau de la mer augmentait de 10 mètres, triées en ordre croissant par leur nom.

Indice

L'altitude moyenne est définie dans la colonne n°5.

Indice

Le nom des communes est défini dans la colonne n°3.

Indice

Il faut commencer par le tri puis effectuer le filtre.

Solution

Tri croissant suivant le nom..

1
tableau.sort(key=lambda x:x[2],reverse=False)

Affichage des communes ayant une altitude moyenne inférieure ou égale à 10 m

1
for i in range(len(tableau)):
2
    if tableau[i][4]<=10 :
3
        print(tableau[i])
PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre) modèle documentaire TechnOpale