nsi:premiere:dictionnaires
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| nsi:premiere:dictionnaires [2021/04/25 18:52] – goupillwiki | nsi:premiere:dictionnaires [2022/02/01 17:45] (Version actuelle) – supprimée goupillwiki | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{page> | ||
| - | ===== Exercices ===== | ||
| - | |||
| - | ==== Exercice 1 ==== | ||
| - | |||
| - | On définit le dictionnaire suivant | ||
| - | |||
| - | //Les retours à la ligne servent à la lisibilité, | ||
| - | |||
| - | < | ||
| - | d = { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | Que renvoient les commandes suivantes : | ||
| - | |||
| - | < | ||
| - | len(d) | ||
| - | type(d) | ||
| - | d[" | ||
| - | d[" | ||
| - | d[" | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | d[" | ||
| - | d.keys() | ||
| - | d.values() | ||
| - | d.items() | ||
| - | </ | ||
| - | |||
| - | ==== Exercice 2 : Bibliothèques csv et panda ==== | ||
| - | |||
| - | Vous disposez d'un fichier {{ : | ||
| - | contenant les données sur un ensemble de villes. | ||
| - | |||
| - | **csv** signifie //comma separated values//, c'est un fichier où les données sont séparées par des virgules ou des points-virgules. | ||
| - | |||
| - | Le fichier est un simple fichier texte qui ressemble à cela : | ||
| - | |||
| - | <code csv> | ||
| - | city; | ||
| - | Tokyo; | ||
| - | New York;New York; | ||
| - | Mexico City;Mexico City; | ||
| - | ... | ||
| - | </ | ||
| - | |||
| - | Si on l' | ||
| - | |||
| - | <csv delim=;> | ||
| - | city; | ||
| - | Tokyo; | ||
| - | New York;New York; | ||
| - | Mexico City;Mexico City; | ||
| - | </ | ||
| - | |||
| - | La première ligne est une entête qui sert à préciser le contenu des colonnes. | ||
| - | |||
| - | Nous allons voir ici comment les bibliothèques '' | ||
| - | |||
| - | * Téléchargez le fichier {{ : | ||
| - | * Téléchargez le fichier '' | ||
| - | |||
| - | <file python city1.py> | ||
| - | # import de la bibliothèque | ||
| - | import csv | ||
| - | # Ouverture du fichier en mode lecture, avec l' | ||
| - | file = open(' | ||
| - | # création d'un objet de la bibliothèque csv chargé de lire | ||
| - | # le contenu de fichier. | ||
| - | # On précise le type de séparateur utilisé. | ||
| - | reader = csv.reader(file, | ||
| - | # reader est une sorte de tête de lecture. | ||
| - | # Nous allons faire avancer la tête de lecture pour récupérer | ||
| - | # les données du fichier et les stocker dans un tableau. | ||
| - | villes = [] | ||
| - | for row in reader: | ||
| - | villes.append(row) | ||
| - | # on peut refermer le fichier. | ||
| - | file.close() | ||
| - | # pour illustrer, demandons l' | ||
| - | for i in range(5): | ||
| - | print(villes[i]) | ||
| - | </ | ||
| - | |||
| - | * Exécutez et visualisez le résultat. **Que constate-t-on ?** | ||
| - | * '' | ||
| - | * La première ligne du tableau est la ligne d' | ||
| - | * Si on veut accéder au nom de pays de Tokyo, il faut déjà savoir que Tokyo est à la ligne 1 puis que le nom de pays est à la colonne 4 et demander '' | ||
| - | |||
| - | **Utilisation de dictionnaires.** | ||
| - | |||
| - | * On recommence, téléchargez le fichier '' | ||
| - | |||
| - | <file python city2.py> | ||
| - | # même début | ||
| - | import csv | ||
| - | file = open(' | ||
| - | # l' | ||
| - | # celui-ci produit des dictionnaires | ||
| - | reader = csv.DictReader(file, | ||
| - | # chaque ligne lue produira un dict | ||
| - | # mais l' | ||
| - | villes = [] | ||
| - | for row in reader: | ||
| - | villes.append(dict(row)) | ||
| - | # fermeture du fichier | ||
| - | file.close() | ||
| - | # affichage des 5 premières lignes | ||
| - | for i in range(5): | ||
| - | print(villes[i]) | ||
| - | </ | ||
| - | |||
| - | * Exécutez et visualisez le résultat. **Que constate-t-on ?** | ||
| - | * '' | ||
| - | * La première ligne du fichier, l' | ||
| - | * La ligne d' | ||
| - | |||
| - | Ainsi, si on veut atteindre le nom de de pays pour Tokyo, on écrira '' | ||
| - | |||
| - | L' | ||
| - | |||
| - | **Encore mieux avec panda** | ||
| - | |||
| - | Panda est une bibliothèque très puissante et beaucoup utilisée pour le traitement de données. | ||
| - | |||
| - | > Notez que c'est une spécificité de Python : on dispose de bibliothèque très puissantes qui permettent de réduire grandement le travail du programmeur. | ||
| - | |||
| - | * Téléchargez le fichier '' | ||
| - | |||
| - | <file python city3.py> | ||
| - | import pandas | ||
| - | villes = pandas.read_csv(" | ||
| - | </ | ||
| - | |||
| - | C'est tout ! '' | ||
| - | |||
| - | <code python> | ||
| - | >>> | ||
| - | >>> | ||
| - | </ | ||
| - | |||
| - | Notez que '' | ||
| - | |||
| - | ```python | ||
| - | >>> | ||
| - | >>> | ||
| - | >>> | ||
| - | ``` | ||
| - | |||
| - | Ceci n'est qu'un aperçu, panda a beaucoup de fonctionnalités. | ||
| - | |||
| - | ==== Exercice 3 ==== | ||
| - | |||
| - | Un brin d'ADN est une succession de bases nucléiques symbolisées par A, T, G, C pour adénine, thymine, guanine, cytosine. Une fonction de l'ADN est de coder les protéines que la cellule sera chargée de synthétiser. Pour se faire, un brin d'ADN complémentaire est créé : | ||
| - | |||
| - | A => U (uracile), T => A, G => C, C => G | ||
| - | |||
| - | puis chaque triplet - **codon** - de bases code une **acide aminé**. | ||
| - | |||
| - | Par exemple, UAU code pour Y : tyrosine | ||
| - | |||
| - | On vous fournit un fichier {{ : | ||
| - | |||
| - | <csv delim=;> | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | Complétez le fichier '' | ||
| - | |||
| - | <file python adn.py> | ||
| - | import csv | ||
| - | file = open(' | ||
| - | reader = csv.DictReader(file, | ||
| - | codons = [] | ||
| - | for row in reader: | ||
| - | codons.append(dict(row)) | ||
| - | file.close() | ||
| - | |||
| - | def testBrin(brinADN: | ||
| - | ''' | ||
| - | | ||
| - | | ||
| - | - nombre de lettres multiple de 3 | ||
| - | - composé des lettres ATGC | ||
| - | ''' | ||
| - | |||
| - | brinComplementaire(brinADN: | ||
| - | ''' | ||
| - | Reçoit en entrée un brin d'ADN sous forme d'une chaîne. | ||
| - | Renvoie la chaîne correspondant au brin complémentaire. | ||
| - | ''' | ||
| - | | ||
| - | def toAcides(brinADN: | ||
| - | ''' | ||
| - | Reçoit en entrée un brin d'ADN sous forme d'une chaîne. | ||
| - | Renvoie la chaîne correspondant à la suite d' | ||
| - | ''' | ||
| - | </ | ||
nsi/premiere/dictionnaires.1619369566.txt.gz · Dernière modification : de goupillwiki
