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
- Répétitions en boucle - l'instruction while
- L'instruction while - conversion de sommes d'argent
- L'instruction while - suite de nombres dont chaque terme est le triple du précédent
- Calcul d'une valeur TTC
- Somme de n nombres positifs
- La légende du grain de riz sur l'échiquier
- La suite de Fibonacci
- Nombre divisible par 2
- Diviseurs propres d'un entier
- Approximation de 'e'
- Tapisserie
- Le rendu de monnaie
- Les étoiles sur les profils des membres de Developpez
- Plus grande somme des éléments d'un sous-tableau
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
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
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
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
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
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
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
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
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 :
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
Cours : une introduction à Python 3
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.
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 | +-----------+ |########## | |######### #| |######## ##| |####### ###| |###### ####| |##### #####| |#### ######| |### #######| |## ########| |# #########| | ##########| +-----------+ |
Code : | Sélectionner tout |
1 2 3 | +-+ | | +-+ |
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 |
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) '******' |
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.
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.