Mise en route en Python


1. Syntaxe

1.1 Manipulation des listes

1.1.1 liste

La plupart des données que nous utiliserons seront des listes numériques. La syntaxe est la suivante:

La variable x est gardée en mémoire comme telle tant qu'elle n'aura pas été modifiée.

1.1.2 concaténation

1.1.3 extraction de coefficient

L'extraction de coefficient se fait à l'aide des [..] (commandes de slicing). Que font les commandes suivantes ?

Attention, si vous voulez recopier la liste x dans une nouvelle variable w, la commande suivante ne fonctionne pas :

w n'est pas une copie, mais une nouvelle référence vers la liste x.

Pour créer un nouvel objet liste, on pourra utiliser la méthode .copy().

1.1.4 séquence

1.2 Fonctions

Les fonctions en Python ont toutes la même syntaxe : nomfonction(variables).

Exemples : que font les fonctions suivantes ?

1.2.1 créations de fonctions

Nous cherchons à créer nos propres fonctions.

La syntaxe de création d'une fonction est la suivante :

($x_{1}, ..., x_{p}$) est la liste des arguments d'entrée de la fonction nom, arguments donnés par l'utilisateur. $y$ est l'argument de sortie.

Exemple :

1.3 Structures de contrôle

1.3.1 le test "si""

Nous utiliserons le test if ... else.

1.3.2 la boucle "pour"

On peut parcourir directement les élements d'une liste donnée :

Pour parcourir des indices entiers, on utilise la fonction range :

1.3.3 la boucle "tant que"

2. Applications

2.1 Exercice : modification de listes

Exemple :

on utilisera la fonction a%b qui calcule le reste dans la division euclidienne de a par b.

Exemple :

2.2 Exercice : algorithme d'Euclide

Exemple :

3. Base 2

3.1 Exercice : écriture en base 2

Indications L'écriture en base 2 d'un nombre n est obtenu en récupérant les restes successifs des divisions par 2 de n et des quotients sussessivement obtenus.

Exemple :
$10=2 \times \textbf{5} + \underline{0}$
$5=2 \times \textbf{2} + \underline{1}$
$2=2 \times \textbf{1} + \underline{0}$
$1=2 \times \textbf{0} + \underline{1}$

Ainsi 10 s'écrit 1010 en base 2.

En Python, le quotient entier de $a$ par $b$ d'une division euclidienne est donné par a//b.

Exemple d'écriture en base 2 :

3.2 Bonus : écriture en base 8

Exemple :

On peut facilement passer de la base 2 à la base 8. Il suffit de parcourir le nombre binaire de la droite vers la gauche en regroupant les chiffres binaires 3 par 3 : chaque paquet de 3 (le dernier devant être parfois complété par des 0 à gauche) est l'écriture binaire d'un chiffre en base 8.

Exemple :
1100111 en base 2 va se regrouper de la façon suivante : 001 100 111. En convertissant chacun de ces blocs en chiffre octal, on obtient 1 4 7, soit 147 en base 8.

Exemple :