Projet pluridisciplinaire TP2 : python
Le logiciel Sage est basé sur le langage de programmation python. Dans ce TP, nous allons apprendre les bases de la syntaxe python et des structures de données tels qu'ils sont utilisés dans Sage.
Les Listes
Les listes sont une des structures fondamentales du python. Elles sont l'équivalent des tableaux du C++.
Le python est un langage dynamique, la déclaration, allocation et initialisation se font en une seule commande.
On accède aux éléments de la liste de la même façon qu'en C++. On peut aussi les modifier.
Affichez les 2eme et 3eme élements de la liste.
len
.
Pour ajouter un élément à la fin de la liste, on utilise la méthode append
(équivalent du push_back
du C++)
Par ailleurs, la méthode pop
permet de supprimer le dernier élément.
Créez une liste contenant 2, 4 et 6. Puis ajoutez 8 à la fin de la liste en utilisant append
.
for
de la façon suivante :
Attention ! La syntaxe et la sémantique de la boucle for sont très différentes en python et en C++. En python, on parcourt directement les éléments de la liste sans passer par un indice. Pour énumérer les éléments de la liste et leurs indices, on utilise la syntaxe suivante :
Exécutez la cellule suivante, puis écrivez une boucle for pour afficher le carré des éléments de la liste. Puis écrivez une seconde boucle qui remplace chaque élément par son carré.
Structure de boucles et de contrôle en python
Vous avez peut-être remarquer que l'on n'utilise pas d'accolades en python. En effet, pour commencer un bloc de type if
, for
ou while
, on utilise les deux points : suivi d'un changement d'indentation. C'est l'indentation qui marque la fin des blocs.
Exécutez les exemples suivant
La cellule suivante contient une erreur d'indentation. Exécutez-la pour afficher l'erreur puis corrigez et exécutez à nouveau.
Ecrire une boucle for
qui n'affiche que les valeurs de la liste inférieures à 10.
Ecrire une boucle while
pour afficher les valeurs pour .
La fonction suivante est très pratique : elle permet de créer une liste d'entiers entre deux valeurs données. Exécutez les exemples pour comprendre son fonctionnement
- Affichez les entiers
- Affichez les entiers pairs inférieurs à 20
On peut utiliser range
avec une boucle for
.
Utilisez une boucle for
avec range
pour afficher les valeurs pour .
Remarque : Il est très facile de tester si un élément appartient à une liste.
Exercice : dans la cellule suivante, on définit 3 listes l1,l2,l_resultat
. Ecrivez une boucle for
pour que l_resultat
contienne les valeurs qui sont à la fois dans l1
et l2
.
Autres structures
Un dictionnaire est un tableau dont les indices peuvent être eux mêmes des objets (par exemple, des chaines de caractères). Par exemple, le dictionnaie suivant associe des notes et des élèves.
Exercice : après avoir observer les exemples précédents. Calculez la moyenne des notes et affichez le nom de l'étudiant ayant eu la meilleure note.
Listes doubles
Tout comme en C++, il est possible de faire des listes de listes.
Affichez la valeur 4 en utilisant l_double
.
Voici un exemple de double boucle for
qui affiche les valeurs de l_double
.
Voici un exemple qui affiche les lignes de l_double
- Calculez le produit de
- Calculez le déterminant et l'inverse de
- Même exercice avec une autre matrice que vous définirez