Aller au contenu

Exercices sur la boucle for ... in⚓︎

exercice 1

On donne une liste d'acteurs :

🐍 Script Python
liste_acteurs = ['Tahar', 'Omar', 'Guillaume', 'Swann', 'Alex', 'Roschdy']

Utilisez cette liste pour produire la sortie suivante:

🐍 Script Python
Tahar a eu le César du meilleur acteur
Omar a eu le César du meilleur acteur
Guillaume a eu le César du meilleur acteur
Swann a eu le César du meilleur acteur
Alex a eu le César du meilleur acteur
Roschdy a eu le César du meilleur acteur

🐍 Script Python
1
2
3
4
liste_acteurs = ['Tahar', 'Omar', 'Guillaume', 'Swann', 'Alex', 'Roschdy']

for acteur in liste_acteurs:
    print(acteur, "a eu le César du meilleur acteur")

Concaténation de caractères ❤

Il est possible de coller (le vrai mot est concaténer) deux chaînes de caractères par l'opérateur + :

🐍 Script Python
>>> "a" + "b"
'ab'

exercice 2

Dans l'extrait de code suivant:

  • chaine est une variable initialisée avec un str vide : "";
  • on veut qu'en sortie de programme cette variable contienne la valeur 'bravo'.

L'idée est d'ajouter une par une les lettres à la variable chaine.

Compléter le code.

🐍 Script Python
1
2
3
chaine = ""
for ... in ['b', 'r', 'a', 'v', 'o']:
    ...

Cette variable chaine est appelée un accumulateur.

🐍 Script Python
1
2
3
4
5
chaine = ""
for lettre in ['b', 'r', 'a', 'v', 'o']:
    chaine += lettre

print(chaine)

exercice 3

  1. Fabriquer la chaîne de caractères suivante (qui comporte 80 caractères) :
    🐍 Script Python
    IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
    
  2. Fabriquer la chaîne de caractères suivante :
    🐍 Script Python
    IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
    NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
    

1.

🐍 Script Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
sol = ""
for k in range(80):
    sol = sol + 'I'
print(sol)
for k in range(80):
    sol = sol + 'N'
print(sol)
for k in range(80):
    sol = sol + 'F'
print(sol)
for k in range(80):
    sol = sol + 'O'
print(sol)

2.

🐍 Script Python
1
2
3
4
5
for lettre in 'INFO':
    sol = ""
    for k in range(80):
        sol = sol + lettre
    print(sol)

3.

🐍 Script Python
1
2
3
4
for lettre in 'INFO':
    sol = ""
    sol = sol + lettre*80
    print(sol)

exercice 4

En Python, la fonction ord renvoie le code Unicode d'un caractère et la fonction chr le contraire: elle renvoie le caractère correspondant à un code Unicode.

Par exemple:

🐍 Script Python
>>> ord('a')
97
>>> chr(97)
'a'

Voici une liste contenant les codes Unicode des lettres d'un mot secret... À vous d'écrire un programme où en sortie, la variable mot_secret contiendra la chaîne de caractères de ce mot.

🐍 Script Python
1
2
mystere = [111, 107, 44, 32, 98, 105, 101, 110, 32, 106, 111, 117, 233]
mot_secret = ""
🐍 Script Python
1
2
3
4
5
6
7
8
mystere = [111, 107, 44, 32, 98, 105, 101, 110, 32, 106, 111, 117, 233]
mot_secret = ""

for nombre in mystere:
    lettre = chr(nombre)
    mot_secret = mot_secret + lettre

print(mot_secret)

exercice 5

On souhaite calculer la somme des 1000 premiers nombres entiers naturels, c'est-à-dire:

\(1+2+3+4+5+ \dots +999+1000\)

Écrire un programme avec une variable somme accumulateur (comme à l'exercice 3) qui contiendra la valeur souhaitée en fin de programme.

🐍 Script Python
1
2
3
4
somme = 0
for k in range(1,1001):
    somme += k
print(somme)  

exercice 6

Calculer \(1\times 2 \times 3 \times \dots 99 \times 100\).

🐍 Script Python
1
2
3
4
produit = 1
for k in range(1,101):
    produit = produit * k
print(produit)  

Exercice 7

Proposer un code qui écrit la table de multiplication de 7, de 8 et de 9.

La sortie doit ressembler à :

📋 Texte
7*1 = 7

7*2 = 14

...    
...

9*9 = 81    

🐍 Script Python
1
2
3
for a in range(7, 10):
    for b in range(1, 10):
        print(a, '*', b, '=', a*b)

Exercice 8

Sur un jeu d'échecs, les cases sont repérées par une lettre (de A jusqu'à H) et par un chiffre (de 1 jusqu'à 8).

Les cases sont donc A1, A2, A3, ..., H7, H8.

Proposer un code qui écrit toutes les cases possibles.

🐍 Script Python
1
2
3
4
for lettre in "ABCDEFGH":
    for chiffre in "12345678":
        case = lettre + chiffre
        print(case)

Autre solution utilisant la conversion d'un entier en chaine de caractères, grâce à la fonction str :

🐍 Script Python
1
2
3
4
for lettre in "ABCDEFGH":
    for chiffre in range(1, 9):
        case = lettre + str(chiffre)
        print(case)