Introduction à Python
Pour faire parcourir à une variable i des valeurs entières depuis une valeur de départ, sur une certaine longueur et avec un certain pas, la syntaxe est la suivante : for i in range(départ, longueur): instructions Pour définir un pas, il faut l'ajouter range(départ, longueur, pas) Pour sortir prématurément d'une boucle, il faut utiliser le mot break. Pour sauter une itération, il faut utiliser continue L'exemple basique suivant affiche tous les nombres pairs jusqu'à 100 : for i in range(0,100,2): print(i) Ecrire une suite d'instructions qui permet de calculer $\sum_{k=0}^{100}{k}$.

Indice 1

Initialiser une variable S à 0

Indice 2

Dans une boucle faisant varier un indice k de 0 à 100, ajouter k à la variable S
La suite d'instructions suivantes part d'une liste L et la modifie à l'aide d'une boucle. Commenter ligne à ligne et déterminer l'objectif du programme. N=len(L) d=L[N-1] for i in range(1,N): L[i]=L[i-1] L[0]=d
  • N vaut la longueur de la liste L
  • d reçoit la dernière valeur de la liste L
  • Dans la boucle, du deuxième élément (i=1) au dernier (i=N), le i-ème élément de la liste est remplacé par son prédécesseur (L[i-1])
  • A la sortie de la boucle, tous les éléments de la liste ont été remplacé par le prédécesseur sauf le premier élément (indice 0), qui reçoit donc l'ancien dernier élément d.
Ce programme décale toutes les valeurs d'une liste vers la droite.
En Python, de la même manière, une boucle peut parcourir les éléments de n'importe quelle liste, ou de n'importe quelle chaîne de caractères : for e in L: instructions Si L est une liste, e prend les valeurs de ses éléments. Si L est une chaîne de caractères, e prend les valeurs des lettres qui la compose. L'exemple basique suivant affiche toutes les lettres d'un mot les uns après les autres : for c in C: print(c)

Téléchargez le fichier palindrome.py et éditez le dans Idle.

Ce fichier contient déjà une fonction nettoyer() qui prend en argument une chaîne de caractère, et retourne une chaîne similaire en minuscule sans accents et sans espaces.

Le but est d'ajouter les fonctions suivantes : Une fonction renverse() qui prend en argument une chaîne de caractères et renvoie la chaîne inversée. Une fonction palindrome() qui prend en argument une chaîne de caractères et renvoie True si la chaîne est un palindrome, False sinon. Vous pouvez la tester sur quelques-uns de es palindromes. Optimisez la fonction palindrome() afin qu'elle ne parcoure pas chaque lettre d'un texte si ce n'est pas un palindrome.

Indice 1

L'indice "miroir" de i dans un mot de longueur N est N-i.

Indice 2

Une autre solution consiste à utiliser un pas négatif pour reculer dans le mot.

Indice 3

Afin de sortir d'une boucle avant la fin, il est possible d'utiliser le mot break;, ou utiliser un return à l'intérieur de la boucle.
Pour parcourir une partie du code en boucle tant qu'une condition n'est pas réalisée, la syntaxe est la suivante : while condition: instructions Attention, utiliser une boucle while doit toujours se faire en réfléchissant sur la condition d'arrêt. Elle doit être validée pour une itération sous peine de créer une boucle infinie : i=1 while i>0: i=i+1 La fonction suivant calcule le logarithme entier base k de x : def log(x,k): n=0 while x>1: x=x/2 n=n+1 return n Nous allons modifier le fichier fractions.py. Le but est d'ajouter deux fonctions : La fonction pgcd() qui prend en arguments deux entiers $a$ et $b$ et qui renvoie une liste composée de trois entiers $d, a'$ et $b'$ tels que $d$ est le plus grand commun diviseur de $a$ et $b$, $a=d a'$ et $b=d b'$ La fonction simplifier() qui prend en argument une liste représentant une fraction et retourne sa forme irréductible. la fonction ne doit pas générer d'erreur si on lui passe un nombre en argument. Modifier les fonctions existantes pour que le résultat se fasse toujours sous forme irréductible. Attention au cas où une "fraction" est donnée sous forme d'un quotient de nombres flottants.

Indice 1

Utiliser l'algorithme d'Euclide pour la fonction pgcd()

Indice 2

Dans un quotient de flottants, il faut trouver le nombre de décimales des numérateurs et dénominateurs pour se ramener à un quotient d'entiers.
Ou plutôt commencement ! En arrivant au bout de ce cours, vous avez découvert et mis en application les rudiments de la programmation. Vous pouvez maintenant laisser libre cours à votre imagination pour créer toutes sortes de programmes. Bien souvent, vous aurez besoin d'approfondir vos connaissances en Python et surtout d'utiliser des librairies...