IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Une sélection d'exercices pour apprendre la programmation Python

Nombre d'auteurs : 6 - Nombre d'exercices : 68 - Dernière mise à jour : 22 janvier 2022 

 

Cette page propose des exercices pour apprendre à programmer en Python.

Ces exercices, accessibles même aux débutants, comprennent des énoncés clairs et complets suivis de solutions détaillées.

Formez-vous gratuitement avec les cours Python, trouvez des réponses à vos questions dans la FAQ Python et posez vos questions sur le forum Python.

Commentez

SommaireBoucles
Mis à jour le 12 octobre 2021 par f-leb, Laethy

Objectif : manipuler les boucles de type while.

Compétences

  • Utilisation des boucles de type while.
  • Utilisation de l'opérateur modulo.


Niveau de difficulté : débutant

Exercice

Écrivez un programme qui affiche les 20 premiers termes de la table de multiplication par 7, en signalant au passage (à l'aide d'une astérisque) ceux qui sont des multiples de 3.
Exemple : 7 14 21 * 28 35 42 * 49 56 63 * 70 77 84 * 91 98 105 * 112 119 126 * 133 140

Auteur : Gérard Swinnen

Cours : apprendre à programmer avec Python

Voir une solution
Mis à jour le 12 octobre 2021 par f-leb, Laethy

Objectif : manipuler les boucles while

Niveau de difficulté : débutant

Exercice

Écrivez un programme qui affiche une table de conversion de sommes d'argent exprimées en euros, en dollars canadiens. La progression des sommes de la table sera « géométrique », comme dans l'exemple ci-dessous :
1 euro(s) = 1.65 dollar(s)
2 euro(s) = 3.30 dollar(s)
4 euro(s) = 6.60 dollar(s)
8 euro(s) = 13.20 dollar(s)
etc. (S'arrêter à 16384 euros)

Auteur : Gérard Swinnen

Cours : apprendre à programmer avec Python

Voir une solution
Mis à jour le 12 octobre 2021 par f-leb, Laethy

Objectif : manipuler les boucles while

Niveau de difficulté : débutant

Exercice

Écrivez un programme qui affiche une suite de 12 nombres dont chaque terme est égal au triple du terme précédent.

Vous pouvez consulter le cours : apprendre à programmer avec Python

Auteur : Gérard Swinnen

Cours : apprendre à programmer en Python

Voir une solution
Mis à jour le 13 octobre 2021 par Laethy, MPython Alaplancha

Objectif : apprendre à manipuler la boucle while

Niveau de difficulté : débutant

Exercice

En utilisant une boucle while, entrez un prix HT (entrez « 0 » pour terminer) et affichez sa valeur TTC.

Auteurs : Laurent Pointal, Bob Cordeau

Cours : une introduction à Python 3

Voir une solution
Mis à jour le 13 octobre 2021 par Laethy, MPython Alaplancha

Objectif : apprendre à manipuler la boucle while

Niveau de difficulté : débutant

Exercice

Calculez la somme d'une suite de nombres positifs ou nuls. Comptez combien il y avait de données et combien étaient supérieures à 100.

Entrer un nombre inférieur ou égal à 0 indique la fin de la suite.

Auteurs : Laurent Pointal, Bob Cordeau

Cours : une introduction à Python 3

Voir une solution
Mis à jour le 14 octobre 2021 par f-leb, Laethy

Objectif : manipuler les données numériques

Niveau de difficulté : débutant

Exercice

Une légende de l'Inde ancienne raconte que le jeu d'échecs a été inventé par un vieux sage, que son roi voulut remercier en lui affirmant qu'il lui accorderait n'importe quel cadeau en récompense. Le vieux sage demanda qu'on lui fournisse simplement un peu de riz pour ses vieux jours et plus précisément un nombre de grains de riz suffisant pour que l'on puisse en déposer 1 seul sur la première case du jeu qu'il venait d'inventer, deux sur la suivante, quatre sur la troisième et ainsi de suite jusqu'à la 64e case. Écrivez un programme Python qui affiche le nombre de grains à déposer sur chacune des 64 cases du jeu. Calculez ce nombre de deux manières :

  • le nombre exact de grains (nombre entier)

  • le nombre de grains en notation scientifique (nombre réel)


Auteur : Gérard Swinnen

Cours : apprendre à programmer en Python

Voir une solution
Mis à jour le 16 octobre 2021 par f-leb, Laethy

Objectifs :

  • Manipuler les boucles de type for

  • Implémenter une fonction


Niveau de difficulté : débutant

Exercice

En mathématiques, la suite de Fibonacci est une suite d'entiers dans laquelle chaque terme est la somme des deux termes qui le précèdent. Elle commence généralement par les termes 0 et 1 (parfois 1 et 1) et ses premiers termes sont 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, etc.

Écrivez un programme paramétrique qui fournit la série de Fibonacci pour obtenir les valeurs de n termes.

Auteur : Gérard Swinnen

Cours : Apprendre à programmer en Python

Voir une solution
Mis à jour le 16 octobre 2021 par f-leb, Laethy

Objectif : apprendre à manipuler les boucles while.

Niveau de difficulté : débutant

Exercice

L'utilisateur donne un entier positif et le programme annonce combien de fois de suite cet entier est divisible par 2.

Auteurs : Laurent Pointal, Bob Cordeau

Cours : une introduction à Python 3

Voir une solution
Mis à jour le 16 octobre 2021 par f-leb, Laethy

Objectif : apprendre à manipuler les boucles While

Niveau de difficulté : intermédiaire

Exercice

L'utilisateur donne un entier supérieur à 1 et le programme affiche, s'il y en a, tous ses diviseurs propres sans répétition ainsi que leur nombre. S'il n'y en a pas, il indique qu'il est premier. Par exemple :

Entrez un entier strictement positif : 12
Diviseurs propres sans répétition de 12 : 2 3 4 6 (soit 4 diviseurs propres)
Entrez un entier strictement positif : 13
Diviseurs propres sans répétition de 13 : aucun ! Il est premier
Auteurs : Laurent Pointal, Bob Cordeau

Cours : une introduction à Python 3

Voir une solution
Mis à jour le 14 octobre 2021 par f-leb, Laethy

Objectif : apprendre à manipuler la boucle for

Niveau de difficulté : débutant

Exercice

Écrire un programme qui approxime par défaut la valeur de la constante mathématique e, pour n assez grand, en utilisant la formule :
\[e \approx \sum\limits_{i=0}^{n} \frac{1}{i!} \]

Pour cela, définissez la fonction factorielle et, dans votre programme principal, saisissez l'ordre n et affichez l'approximation correspondante de e.

Voir une solution
Mis à jour le 6 novembre 2021 par Sve@r

Objectif : manipuler les chaines

Niveau de difficulté : débutant

Exercice

Écrire une fonction qui, recevant une taille n en paramètre, affiche un tapis de n+1 lignes/n+1 colonnes traversé par une diagonale.

Exemple (pour une taille de 10) :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
+-----------+
|########## |
|######### #|
|######## ##|
|####### ###|
|###### ####|
|##### #####|
|#### ######|
|### #######|
|## ########|
|# #########|
| ##########|
+-----------+
PS: le "n+1" permet de pouvoir gérer plus facilement le cas "0" :
Code : Sélectionner tout
1
2
3
+-+
| |
+-+

Voir une solution
Mis à jour le 6 novembre 2021 par Sve@r

Objectif : apprendre à créer un algorithme à l'aide de boucle

Niveau de difficulté : débutant

Exercice

Écrire une fonction qui décompose une somme d'argent en un minimum de billets et pièces nécessaires pour recomposer ladite somme. On pourra utiliser un dictionnaire pour associer chaque pièce (ou billet) au nombre nécessaire pour calculer la somme.

Exemple: 81.43€ à décomposer en billets et pièces de 100€, 50€, 20€, 10€, 5€, 2€, 1€, 0.50€, 0.20€, 0.10€, 0.05€, 0.02€ et 0.01€

Code : Sélectionner tout
1
2
3
4
5
6
7
50€: 1
20€: 1
10€: 1
1€: 1
0.20€: 2
0.02€: 1
0.01€: 1
A noter: avec notre système fiduciaire dit "canonique", l'algorithme générique trouvera obligatoirement la solution optimale.

Voir une solution
Mis à jour le 6 novembre 2021 par f-leb

Objectif : manipuler les boucles

Niveau de difficulté : débutant

Exercice

Sur un forum, les membres se voient attribués des rangs en fonction de leur participation.
Par exemple, s'ils ont au moins 300 points, une étoile '*' leur est attribuée sur leur profil.
S'ils ont au moins 650 points, ils ont deux étoiles '**', 1300 points donnent trois étoiles '***', 2250 points donnent quatre étoiles '****', 4000 points donnent cinq étoiles '*****', et 10000 points et plus donnent six étoiles '******'
Voir https://www.developpez.net/forums/d1...r/#post4217370

Les seuils sont donnés par un tuple en Python : seuils = (300, 650, 1300, 2250, 4000, 10000).

Écrire une fonction Python nommée rang_etoiles qui prend un nombre de points en paramètre et qui calcule et renvoie en sortie la chaîne de caractères avec le nombre d'étoiles voulu :

Code python : Sélectionner tout
1
2
3
4
5
6
7
8
>>> rang_etoiles(50) 
'' 
>>> rang_etoiles(450) 
'*' 
>>> rang_etoiles(3600) 
'****'    
>>> rang_etoiles(12542) 
'******'

Voir une solutionVoir une autre solution
Mis à jour le 28 novembre 2021 par f-leb, Pyramidev

Objectif : manipuler les boucles

Niveau de difficulté : intermédiaire

Exercice

Soit une liste d'entiers, par exemple : [2, -2, -3, 2, 3, -4, 2, 3, -1].
On écrira une fonction qui doit rechercher dans cette liste, une sous-liste d'éléments consécutifs (contenant au moins un élément) dont la somme des éléments est la plus élevée possible, et qui renvoie cette somme.

Ici, la fonction doit renvoyer 6, parce que la somme des éléments de la sous-liste en bleu [2, -2, -3, [2, 3, -4, 2, 3], -1] vaut 6, et qu'il n'existe aucune sous-liste d'éléments consécutifs dont la somme des éléments serait supérieure à 6.

Voir une solutionVoir une autre solutionVoir une autre solution

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.