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 : 5 - Nombre d'exercices : 41 - Dernière mise à jour : 17 novembre 2021 

 

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

SommaireFonctions originales
Mis à jour le 16 octobre 2021 par f-leb, Laethy

Objectif : apprendre à définir vos fonctions personnelles sous Python.

Niveau de difficulté : débutant

Exercice

Définissez une fonction surfCercle(R). Cette fonction doit renvoyer la surface (l'aire) d'un cercle dont on lui a fourni le rayon R en argument. Par exemple, l'exécution de l'instruction :
print(surfCercle(2.5)) doit donner le résultat 19.635

Auteur : Gérard Swinnen

Cours : apprendre à programmer avec Python

Voir une solution
Mis à jour le 12 octobre 2021 par Laethy, Sve@r

Objectif : apprendre à définir vos propres fonctions dans les programmes Python.

Niveau de difficulté : débutant

Exercice

Définissez une fonction maximum(n1,n2,n3) qui renvoie le plus grand des 3 nombres n1, n2, n3 fournis en arguments. Par exemple, l'exécution de l'instruction : print(maximum(2,5,4)) doit donner le résultat : 5.

Auteur : Gérard Swinnen

Cours : apprendre à programmer avec Python

Voir une solution
Mis à jour le 16 octobre 2021 par Hominidé, Laethy

Objectif : apprendre à définir des fonction dans Python.

Niveau de difficulté : débutant

Exercice

Définissez une fonction changeCar(ch,ca1,ca2,début,fin) qui remplace tous les caractères ca1 par des caractères ca2 dans la chaîne de caractères ch, à partir de l'indice début et jusqu'à l'indice fin, ces deux derniers arguments pouvant être omis (et dans ce cas, la chaîne est traitée d'une extrémité à l'autre). Exemples de la fonctionnalité attendue :

Code python : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
  
>>> phrase = 'Ceci est une toute petite phrase.' 
>>> print changeCar(phrase, ' ', '*') 
Ceci*est*une*toute*petite*phrase. 
>>> print changeCar(phrase, ' ', '*', 8, 12) 
Ceci est*une*toute petite phrase. 
>>> print changeCar(phrase, ' ', '*', 12) 
Ceci est une*toute*petite*phrase. 
>>> print changeCar(phrase, ' ', '*', fin = 12) 
Ceci*est*une*toute petite phrase.


Auteur : Gérard Swinnen

Cours : apprendre à programmer avec Python

Voir une solution
Mis à jour le 8 juin 2021 par Hominidé, Laethy

Objectif : apprendre à créer et utiliser des fonctions

Niveau de difficulté : débutant

Exercice

Un gardien de phare va aux toilettes cinq fois par jour. Or les WC sont au rez-de-chaussée…

Écrire une procédure (donc sans return) hauteurParcourue qui reçoit deux paramètres, le nombre de marches du phare et la hauteur de chaque marche (en cm), et qui affiche :

Pour x marches de y cm, il parcourt z.zz m par semaine.

On n'oubliera pas :

  • qu'une semaine comporte 7 jours ;

  • qu'une fois en bas, le gardien doit remonter ;

  • que le résultat est à exprimer en m.


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 fonctions

Niveau de difficulté : intermédiaire

Exercice

Un permis de chasse à points remplace désormais le permis de chasse traditionnel. Chaque chasseur possède au départ un capital de 100 points. S'il tue une poule, il perd 1 point, 3 points pour un chien, 5 points pour une vache et 10 points pour un ami. Le permis coûte 200 euros.

Écrire une fonction amende qui reçoit le nombre de victimes du chasseur et qui renvoie la somme due.

Utilisez cette fonction dans un programme principal qui saisit le nombre de victimes et qui affiche la somme que le chasseur doit débourser.

Auteurs : Laurent Pointal, Bob Cordeau

Cours : une introduction à Python 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

La suite (ou conjecture) de Syracuse est une suite assez originale : comme les suites classiques, chaque terme est issu du précédent. L'originalité réside dans le calcul des termes...
Si le terme en cours "n" est pair, alors le terme suivant est "n/2". Et s'il est impair alors le terme suivant est "3*n+1" (une variante possible nommée "suite compressée" part du principe que 3*n+1 étant forcément pair le terme suivant sera alors n/2 ce qui autorise alors à sauter le n/2 en calculant directement (3*n+1)/2).
Son comportement à l'avance est incalculable (il est impossible de donner le terme "n+1" sans avoir calculé les "n" précédents). La conjecture dit que, quel que soit le nombre "n" initial (mais au moins positif), on arrivera fatalement à une finale 4, 2, 1 (ou 2, 1 pour la version compressée). Et de là on ne peut plus en sortir (puisque "1" est impair, le terme qui le suit est donc 3*n+1 soit 4 et l'on voit alors la boucle inévitable (4, 2, 1, 4, 2, 1, 4, 2, 1, ...).

Mais avant d'arriver à cette finale 4, 2, 1, les nombres de la suite varient de façon quasi chaotique. Ce comportement erratique assimilable à celui d'une feuille tombant dans le vent a donné naissance à un vocabulaire issu de l'aéronautique. On nomme par exemple "durée de vol" le nombre de termes calculables à partir d'une valeur de départ. Et l'"altitude" est la valeur maximale atteinte durant le calcul. Par exemple si on part de 14, la suite donnera 14, 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1 soit une durée de vol de 18 et une altitude de 52.

L'exercice proposé est d'écrire une fonction qui, à partir d'un nombre "n", calcule tous les termes de la suite issue de ce nombre (elle s'arrête quand elle atteint 1). Et elle devra renvoyer finalement sous forme d'un tuple

  • le nombre initial
  • la durée de vol
  • l'altitude


En supplément facultatif, on pourra utiliser la fonction et son retour pour tenter de trouver un nombre "X" ayant la durée la plus longue et un nombre "Y" donnant l'altitude la plus haute (X et Y cherchés par exemple dans le premier million d'entiers)...

Voir une solution
Mis à jour le 7 novembre 2021 par Hominidé

Objectif : apprendre à récupérer et organiser des informations disparates pour en extraire un résultat global

Niveau de difficulté : débutant

Exercice

Soit des comptes bancaires d'individus définis par la liste :

Code python : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
comptes = [ 	{'nom': 'Boismoneau', 'prenom': 'stephane', 'epargne': 2500}, 
		{'nom': 'Jambon', 'prenom': 'fred', 'epargne': 5000}, 
		{'nom': 'Durois', 'prenom': 'nicolas', 'epargne': 10000}, 
		{'nom': 'Gueux', 'prenom': 'phillipe', 'epargne': 1250}, 
		{'nom': 'Duchan', 'prenom': 'alice', 'epargne': 4530}, 
		{'nom': 'Lepenou', 'prenom': 'amed', 'epargne': 2200}, 
		{'nom': 'Gueux', 'prenom': 'bernard'}, 
		{'nom': 'Jambon', 'prenom': 'steven', 'epargne': 1670}, 
		{'nom': 'Gueux', 'prenom': 'sylvie', 'epargne': 3}, 
		{'nom': 'Durois', 'prenom': 'berbard', 'epargne': 300000} 
	  ]

On considère que les individus qui portent le même 'nom' sont de la même famille.
En cas d'absence de revenu attribué à un individu, nous considérerons que son épargne est nulle (cas de 'bernard Gueux').

Écrire une fonction qui retourne le nom de la famille à la plus faible épargne ainsi que le nom de la famille à la plus forte épargne avec le montant de leur épargne respective.
Ici, ('Gueux', 1253) et ('Durois', 310000).

Voir une 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 © 2021 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.