Représentation des données
Représentation des nombres entiers
Le but de ce cours/TP est de vous familiariser avec les différentes formes de représentation des nombres entiers en informatique. Vous apprendrez à écrire un nombre entier en :
- binaire,
- octal,
- hexadécimal.
Vous apprendrez également à coder des nombres entiers négatifs, à faire des additions et des soustractions dans les différentes bases.
Cliquez ici pour démarrer ce cours/TP
Les listes
Il peut arriver que vous deviez lire, stocker, traiter et enfin imprimer des dizaines, voire des centaines ou des milliers de valeurs de données. Avez-nous donc besoin de créer une variable distincte pour chaque valeur? Devrez-nous passer de longues heures à écrire des déclarations comme celle ci-dessous ?
var1 = int(input())
var2 = int(input())
var3 = int(input())
var4 = int(input())
var5 = int(input())
var6 = int(input())
Jusqu’à présent, vous avez appris à déclarer des variables capables de stocker exactement une valeur donnée à la fois. Ces variables sont parfois appelées scalaires par analogie avec les mathématiques.
Nous allons voir ici comment déclarer des variables à valeurs multiples : les listes. Nous allons pour illustrer cela écrire un programme qui trie une suite de nombres.
Cliquez ici pour démarrer ce cours/TP
Les tuples et les dictionnaires
Les tuples
Un tuple est un type de séquence non mutable. Il peut se comporter comme une liste, mais ne peut pas être modifié.
On ne peut ni lui ajouter, lui modifier ou lui supprimer un élément. Cela signifie que l’ajout d’un élément à la fin de la liste nécessiterait la recréation de la liste à partir de zéro.
En mathématiques, on parle de p-uplet.
Les dictionnaires
Le dictionnaire est une autre structure de données Python.
Ce n’est pas un type de séquence (mais peut être facilement adapté au traitement de séquence) et il est modifiable.
Depuis Python 3.6x, les dictionnaires sont devenus des collections ordonnées par défaut.
Pour expliquer ce qu’est réellement le dictionnaire Python, il est important de comprendre qu’il s’agit littéralement d’un dictionnaire.
Le dictionnaire Python fonctionne de la même manière qu’un dictionnaire bilingue. Par exemple, vous avez un mot anglais (par exemple, cat) et avez besoin de son équivalent français. Vous parcourez le dictionnaire afin de trouver sa traduction en français et c’est (très probablement) le mot chat.
- Le mot recherché est nommé clé
- Le mot retourné est nommé valeur
Python Snake
Les tuples
Notre objectif est développer une version Python de ce jeu en s’appuyant sur les concepts de programmation que nous avons appris jusqu’à maintenant :
- Utilisation de modules
- les fonctions
- les listes
- les tests conditionnels
- les boucles
Cliquez ici pour démarrer ce cours/TP
Covid-19 : Accès aux données
A l’heure des "fake news", ces fausses informations qui se répandent rapidement, il est important de vérifier en permanence l’exactitude des dépêches que nous recevons depuis divers supports, ce qui est loin d’être simple !
Les chercheurs de l’université Johns Hopkins ont dans ce but produit une carte qui permet de suivre et de visualiser les rapports sur l’épidémie en utilisant les données des Centres américains et chinois de contrôle et de prévention des maladies, de l’Organisation mondiale de la santé et d’autres sources. Au fur et à mesure de l’arrivée des rapports, la carte est actualisée avec le nombre total de cas confirmés, ainsi que ceux des décès et des guérisons. Chaque point rouge représente un foyer d’apparition de la maladie, dont la taille correspond à l’ampleur relative de contagion. En cliquant sur l’un d’entre eux, on obtient les informations relatives à la région.
Accès au site de l’université Johns Hopkins : https://systems.jhu.edu/
Accès aux données brutes sur leur espace github : https://github.com/CSSEGISandData/COVID-19
Objectif
Notre objectif est développer une application Python pour :
- récupérer les données brutes de la propagation du virus au format csv,
- les filtrer par pays,
- Tracer un graphic de l’évolution de la propagation