Boucles conditionnelles Pt.2#

Répéter quelque chose une fois sur deux (une fois sur trois, une fois sur n) en boucle#

1compteur = 1
2while compteur <= 10 :
3    print(compteur)
4    compteur =compteur + 1

Nous avons l'exemple du chapitre précédent avec la séquence affichée des nombres de 1 à 10. Comment ajouter un petit message après chaque nombre pair comme ci-dessous?

1
2 est pair
3
4 est pair
5
6 est pair
7
8 est pair
9
10 est pair

Pour cela, nous utiliserons l'opérateur modulo %. Nous l'avons brièvement vu dans le chapitre « Variables ».

Il nous donne le reste de la division de deux nombres entiers.

Pour vérifier si un nombre est pair, nous devons vérifier si le reste de sa division par 2 est égal à 0.

Avec un nombre simple, cela donne ceci (vous pouvez modifier la valeur de « nombre » pour effectuer plusieurs tests) :

1nombre = 5
2if nombre % 2 == 0:
3    print(nombre, "est pair")
4else:
5    print(nombre, "est impair")

Dans l'exemple précédent, avec l'affichage du message « est pair », nous utiliserons le modulo comme suit :

1compteur = 1
2while compteur <= 10 :
3    if compteur %2==0:
4        print(compteur, "est pair")
5    else:
6        print(compteur)
7    compteur =compteur + 1

Si nous voulons répéter une action toutes les trois fois, par exemple, nous pouvons procéder comme suit.

1compteur = 1
2while compteur <= 10 :
3    if compteur %3==0:
4        print(compteur, "est divisible a 3")
5    else:
6        print(compteur)
7    compteur =compteur + 1

Pour les prochains exercices, nous utiliserons également le fait que si nous multiplions une valeur de chaîne par un nombre entier, cela répète la valeur de la chaîne autant de fois que la valeur entière.

1text = "XO"
2n = 4
3print(text*n)

Les prochains exercices utiliseront le fait que nous pouvons multiplier des valeurs de chaîne, ainsi que l'idée de répéter quelque chose toutes les n fois. Vous pouvez prendre l'exemple suivant comme point de départ.

1compteur = 1
2value = 5
3symbol = "+"
4while compteur <= 10 :
5    if compteur %2==0:
6        print(symbol * value)
7    else:
8        print(symbol * value * 2)
9    compteur =compteur + 1

Exercice 40#

Il existe différents symboles permettant de réaliser ce qu'on appelle l'« art ASCII ». Plus tard dans l'année, nous aborderons la définition de l'ASCII et la manière dont les symboles sont représentés sous forme de codes sur un ordinateur.

Voici une liste de différents symboles graphiques permettant de créer des motifs intéressants.

  • ■ Black Square ■ ■

  • □ White Square □ □

  • ▢ White Square With Rounded Corners ▢ ▢

  • ▣ White Square Containing Black Small Square ▣ ▣

  • ▤ Square With Horizontal Fill ▤ ▤

  • ▥ Square With Vertical Fill ▥ ▥

  • ▦ Square With Orthogonal Crosshatch Fill ▦ ▦

  • ▧ Square With Upper Left To Lower Right Fill ▧ ▧

  • ▨ Square With Upper Right To Lower Left Fill ▨ ▨

  • ▩ Square With Diagonal Crosshatch Fill ▩ ▩

  • ▪ Black Small Square ▪ ▪

  • ▫ White Small Square ▫ ▫

  • ◧ Square With Left Half Black ◧ ◧

  • ◨ Square With Right Half Black ◨ ◨

  • ◩ Square With Upper Left Diagonal Half Black ◩ ◩

  • ◪ Square With Lower Right Diagonal Half Black ◪ ◪

  • ◫ White Square With Vertical Bisecting Line ◫ ◫

  • ◰ White Square With Upper Left Quadrant ◰ ◰

  • ◱ White Square With Lower Left Quadrant ◱ ◱

  • ◲ White Square With Lower Right Quadrant ◲ ◲

Les motifs ci-dessous utilisent certains de ces symboles.

Votre tâche consiste maintenant à observer chaque motif et à concevoir un programme comportant une boucle « while » qui le reproduise. Votre programme doit utiliser autant de variables et d'instructions conditionnelles que nécessaire, afin d'être clair, efficace et facile à lire.

Observez attentivement les motifs : vous devrez parfois afficher un certain nombre de symboles, parfois faire attention au nombre d'espaces.

1
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
2
□
□□
□□□
□□□□
□□□□□
3
□□□□□□□
□□□□□□
□□□□□
□□□□
□□□
□□
□
4
□□□□□□□
 □□□□□□
  □□□□□
   □□□□
    □□□
     □□
      □
5
+++++
-----
+++++
-----
+++++
6
▤▤▤▤▤
▣▣▣▣▣
▤▤▤▤▤
▣▣▣▣▣
▤▤▤▤▤
7
/////////
\\\\\\\\\
|||||||||
/////////
\\\\\\\\\
|||||||||
/////////
\\\\\\\\\
|||||||||
8
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************
       *****
       *****
       *****
       *****
9
        *
       ***
      *****
     *******
    *********
   ***********
  *************
 ***************
      ****
      ****
      ****
      ****
                  *
                 ***
                *****
               *******
              *********
             ***********
            *************
           ***************
          *****************
         *******************
        *********************
       ***********************
      *************************
     ***************************
    *****************************
   *******************************
  *********************************
 ***********************************
*************************************
               ******
               ******
               ******
               ******
#Ecrivez votre code ici

Exercice 41#

Partie 1 : Remplacement des multiples de 3 par "Fizz"

Vous allez écrire un programme qui affiche les nombres de 1 à 13, en remplaçant les nombres divisibles par 3 par le mot "Fizz".

Utilisez une boucle while pour parcourir les nombres de 1 à 13. Pour chaque nombre :

  • Si le nombre est divisible par 3, affichez "Fizz".

  • Sinon, affichez le nombre lui-même.

Exemple de sortie attendue :

1
2
Fizz
4
5
Fizz
7
8
Fizz
10
11
Fizz
13

Partie 2 : Remplacement des multiples de 3 et 5 Vous allez maintenant écrire un programme qui affiche les nombres de 1 à 14, en remplaçant :

les nombres divisibles par 3 par "Fizz", les nombres divisibles par 5 par "Buzz".

Consignes :

Utilisez une boucle while pour parcourir les nombres de 1 à 14. Pour chaque nombre :

Si le nombre est divisible par 3, affichez "Fizz". Si le nombre est divisible par 5, affichez "Buzz". Si le nombre n’est divisible ni par 3 ni par 5, affichez le nombre lui-même.

Exemple de sortie attendue :

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14

Partie 3: Affichez la séquence de nombres de 1 à 31, en appliquant des règles de remplacement spécifiques. Pour chaque nombre de 1 à 31 :

  • Si le nombre est divisible par 3, affichez "Fizz" à la place du nombre.

  • Si le nombre est divisible par 5, affichez "Buzz" à la place du nombre.

  • Si le nombre est divisible à la fois par 3 et 5, affichez "FizzBuzz".

  • Sinon, affichez simplement le nombre.

Vous devez utiliser une boucle while et des instructions conditionnelles (if, elif, else). Affichez chaque résultat sur une ligne distincte.

Exemple de sortie attendue:

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
...
FizzBuzz
31
#Ecrivez votre code ici