Formation I.S.N.

La boucle for

Boucle itérative

L’instruction for va être utile pour travailler sur des séquences. Elle est en fait spécialisée dans le parcours d’une séquence de plusieurs données. Il en existe un type que nous avons déjà rencontré et qui nous servira ici de support pour illustrer la boucle for : la chaîne de caractères.

Une chaîne de caractères n’est rien d’autres qu’une séquence de caractères qui peut être parcourue.

La boucle for se construit ainsi :


			for element in sequence:
				instruction 1
				insctruction 2
				...
				instruction n
			

element est une variable créée par l’instruction for, ce n’est donc pas au programmateur de l’instancier. Elle prend successivement toutes les valeurs figurant dans la séquence.



Voici un exemple :


			
			

La variable lettre prend successivement la valeur de chaque lettre contenue dans la chaîne de caractères nommée chaine. On affiche ces valeurs avec la fonction print jusqu’à ce qu’il n’y a ait plus de lettre dans la chaîne.

Cette instruction est très pratique car elle permet de ne pas initialiser ni d’incrémenter de variable : Python gère seul ne nombre de tours de boucle à effectuer pour être complet.



A noter dans le résultat obtenu le passage à la ligne après chaque tour de boucle. Pour empêcher cela, il suffit de rajouter l’argument end="" à la fonction print. Ce qui donne :


		
		

Pour compléter notre exemple, rien n’empêche d’inclure une structure conditionnelle dans le bloc d’instructions à exécuter dans la boucle for.

Exercice

Écrire un programme utilisant la boucle for pour n’afficher que les voyelles d’une chaîne de caractères initialement créée. Le caractère * sera affiché à la place des consonnes.

  • Une piste ?
  • Solution ?
Ecrire une chaîne de caractères contenant toutes les voyelles (en minuscule et en majuscule).

La solution en code Python :


				chaine = "Bonjour les ISN"
				for lettre in chaine:
					if lettre in "AEIOUYaeiouy":   #Si la lettre en cours est une voyelle
						print(lettre)               #alors l'afficher
					else:
						print("*")                  #Sinon, afficher "*"