Exercices les boucles Python Série 02
Exercices les boucles Python Série 02
-
Objectifs
- Comprendre et savoir utiliser les boucles en Python.
-
Exercice 01
-
Énoncé
- Le triplet pythagoricien
- En arithmétique, un triplet pythagoricien ou triplet de Pythagore est un triplet [katex]\mathbf{(a,b,c)}[/katex] d’entiers naturels non nuls vérifiant la relation de Pythagore : [katex]\mathbf{a^2+b^2=c^2}[/katex]. Le triplet pythagoricien le plus connu est [katex]\mathbf{(3, 4, 5)}[/katex].
- On appelle « triplet pythagoricien » tout triplet [katex]\mathbf{(a,b,c)}[/katex] de trois entiers naturels non nuls vérifiant l’égalité de Pythagore : [katex]\mathbf{a^2+b^2=c^2}[/katex]
- Écrire un programme python qui demande à l’utilisateur de saisir un entier n, et qui affiche tous les triplets pythagoriciens pour [katex]\mathbf{c \leq n}[/katex]. Les entiers a, b et c doivent être dans l’ordre croissant.
- Si par exemple [katex]\mathbf{n \leq 20}[/katex], on doit afficher :
- (3,4,5) est : 9+16=25
(6,8,10) est : 36+64=100
(5,12,13) est : 25+144=169
(9,12,15) est : 81+144=225
(8,15,17) est : 64+225=289
(12,16,20) est : 144+256=400 -
Correction
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 02
-
Énoncé
- Il existe deux unités pour les mesures de températures : les degrés Celsius (°C) et les degrés Fahrenheit (°F).
- Écrire un programme qui demande à l’utilisateur de saisir une température, puis de choisir si celle-ci est en degrés Celsius ou en degrés Fahrenheit. Selon les cas, le programme devra ensuite afficher la conversion dans l’autre unité.
-
Correction
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 03
-
Énoncé
- Écrivez un programme qui demande à l’utilisateur de saisir un nombre n>0 [katex]\mathbf{n>0}[/katex] puis de trouver tous les facteurs du nombre donné en utilisant une boucle for.
- Le facteur de tout nombre est un nombre entier qui divise exactement le nombre en un nombre entier sans laisser de reste. Par exemple, 2 est un facteur de 6 car 2 divise 6 exactement sans laisser de reste.
-
Correction
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 04
-
Énoncé
- Écrivez un programme en python, qui demande à l’utilisateur de:
- Saisir deux nombres et qui doit trouver le plus grand diviseur commun entre ces deux nombres.
- Exemple d’affichage
- Données d’entrée
- Données de sortie
- PGCD de 35 et 60 = 5
- Vérifier si l’un ou les deux nombres saisies précédemment est (sont) premier(s)
- Trouver les facteurs premiers du plus grand nombre des deux nombres saisies précédemment.
-
Correction
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 05
-
Énoncé
- Écrire un jeu dans lequel python choisit aléatoirement un nombre entre 0 et 99.
- Ce jeu peut être décrit comme suit:
- L’ordinateur choisit au hasard un nombre mystère
- Le joueur propose une réponse.
- L’ordinateur répond « le nombre à trouver est plus grand » ou « le nombre à trouver est plus petit » ou « bravo, c’est le bon nombre ! »
- Comme ce jeu est vite lassant, on introduit des variantes où l’ordinateur a le droit de mentir ou de tricher !
- L’ordinateur ment.
- Pour compliquer le jeu, l’ordinateur a le droit de mentir de temps en temps. Par exemple environ une fois sur quatre l’ordinateur donne la mauvaise indication « plus grand » ou « plus petit ».
-
Correction
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 06
-
Énoncé
- Soit { ([katex]\mathbf{U_{n}}[/katex]) la suite définie sur [katex]\mathbf{\mathbb{N}}[/katex] par :
- Écrire une fonction qui prend en entrée un entier n et qui renvoie [katex]\mathbf{U_{n}}[/katex]. On proposera deux versions :
- a. ua(n) : programmée à l’aide d’une boucle;
- b. ub(n) : programmée de manière récursive.
- Écrire une fonction affiche_termes(u,a,b) qui affiche les termes de la suite u passée en entrée pour les rangs allant de a à b (tous les deux inclus). On attend un affichage complet du type :
- Afficher les 15 premiers termes de la suite ([katex]U_{n}[/katex]). On doit observer la convergence vers 2.
-
- En admettant que la suite ([katex]U_{n}[/katex]) converge effectivement vers 2, il doit exister un rang N à partir duquel tous les termes de la suite sont à une distance de 2 inférieure ou égale à [katex]10^{-3}[/katex] par exemple.
- Écrire alors une fonction rang_précision(eps) qui prend en entrée une précision [katex]\mathbf{\epsilon}[/katex] et qui renvoie le rang N du premier terme de la suite tel que [katex]\left| U_{N}- 2 \right| \ n\leq \epsilon[/katex].
- À l’aide d’une boucle, afficher le rang [katex]\mathbf{\mathbb {N}}[/katex] obtenu pour les précisions » suivantes : [katex]10^{-1}, 10^{-2}, 10^{-3}, 10^{-5}, 10^{-10}[/katex] Comment varie logiquement N lorsque » diminue?
- Il est possible, sur cet exemple de suite ([katex]U_{n}[/katex]), de déterminer directement [katex]U_{n}[/katex] en fonction de [katex]n[/katex]. On admet qu’on obtiendrait, pour tout [katex]\mathbf{\mathbb {n\ \varepsilon \ N }}[/katex] :
[katex] u_{n}\ =\ 2+ \left(-\frac{1}{2}\right)^{n}[/katex] - Connaissant cette expression, retrouver les résultats obtenus à la question précédente par un calcul mathématique, en résolvant l’inéquation [katex]\left| U_{N}- 2 \right| \ n\leq \epsilon[/katex], dont l’inconnue est [katex]N[/katex].
-
Correction
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 07
-
Énoncé
- Vérifier puis exécuter le script python suivant:
- 01. Corriger le script pour qu’il affiche la somme de x + y
- 02. Ajouter les instructions pour que le script affiche la multiplication de x * y
- 03. Modifier le script pour saisir la variable op opérateur qui peut être (+ ou *),puis effectuer l’opération correspondante.
- 04. Ajouter les cas des opérateurs (– et /)
- 05. Ajouter la saisie d’une variable q pour demander à l’utilisateur s’il veut quitter (taper o pour quitter) sinon recommencer depuis le début.
-
Correction
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Saisir nombre 1 : 35
Saisir nombre 2 : 60
[katex]\left\lbrace\begin{array}{lll}
\mathbf{U_{0} = 3}, \mathbf{U_{1}} = \mathbf{\frac{3}{2}}\\\ \\
\mathbf{2U_{n+2} = U_{n+1}+U_{n} \ pour\ tout \ {n \geq 0}}\\
\end{array}\right.[/katex]
-
u(0) = 3
u(1) = 1.5
u(2) = …
x=input('Donner un entier=')
y=input('Donner un autre entier=')
print('la somme de ',x,' + ', y ,'=',x+y)