ubuntu2004
Les bases de Python - EXERCICES
![]()
CrĂ©dit : âą/ÂźPython Software Foundation, GPL, via Wikimedia Commons
Objectif
L'objectif final est que sachiez écrire les structures de bases (affectations, instructions conditionnelles, boucles for, boucle while, fonctions) dans le langage Python.
Pour cela, une grande partie des exercices ci-dessous consistent à écrire dans le langage Python, des algorithmes écrits en langage naturel dans la partie 1 sur Les bases de l'algorithmique.
N'hésitez surtout pas à revoir le notebook de cours sur les bases de Python, faites des allers-retours entre le cours et les exercices !
Variables et affectations en Python
đ Exercice 1
Ăcrivez le programme Python correspondant Ă l'algorithme de l'exercice 1 sur les bases de l'algorithmique dont on rappelle l'Ă©noncĂ© ci-dessous. Vous vĂ©rifiez Ă©galement vos rĂ©ponses en affichant ce qu'il faut avec Python.
Que valent
NetPaprĂšs lâexĂ©cution de cet algorithme ?
N â 2 P â 3 N â P + 1 P â N
N = 2
P = 3
N = P + 1
P = N
print(N, P) # pour vérifier la réponse
đ Exercice 2
Ăcrivez le programme Python correspondant Ă l'algorithme de l'exercice 2 sur les bases de l'algorithmique dont on rappelle l'Ă©noncĂ© ci-dessous. Vous vĂ©rifiez Ă©galement vos rĂ©ponses en affichant ce qu'il faut avec Python.
Que vaut
BaprĂšs lâexĂ©cution de cet algorithme ?
A â 8 B â (A â„ 10)
đ Exercice 3
Ăcrivez le programme Python correspondant Ă l'algorithme de l'exercice 3 sur les bases de l'algorithmique dont on rappelle l'Ă©noncĂ© ci-dessous. Vous vĂ©rifiez Ă©galement vos rĂ©ponses avec Python.
Supposons que
Nvaut 2 ; que vautPaprĂšs lâexĂ©cution de cet algorithme ?
P â N mod 5 P â N div P
Instructions conditionnelles : if, elif et else
đ Exercice 4
Ăcrivez le programme Python correspondant Ă l'algorithme de l'exercice 5 sur les bases de l'algorithmique dont on rappelle l'Ă©noncĂ© ci-dessous. Vous vĂ©rifiez Ă©galement vos rĂ©ponses avec Python.
Supposons que
Avaut 1 au dĂ©but ; que vaut-il aprĂšs lâexĂ©cution de cet algorithme ?
si A â„ 0 alors A â A - 1 sinon A â A + 1 fin si
đ Exercice 5
Ăcrivez le programme Python correspondant Ă l'algorithme de l'exercice 6 sur les bases de l'algorithmique dont on rappelle l'Ă©noncĂ© ci-dessous. Vous vĂ©rifiez Ă©galement vos rĂ©ponses avec Python.
L'algorithme ci-dessous est-il Ă©quivalent (au sens ou une mĂȘme valeur de
Ainitiale induit une mĂȘme valeur deAaprĂšs leur exĂ©cution) Ă celui prĂ©sentĂ© dans l'exercice 5 ?
si A â„ 0 alors A â A - 1 fin si si A < 0 alors A â A + 1 finsi
Boucles bornées : boucles for
đ Exercice 6
Ăcrivez le programme Python correspondant Ă l'algorithme de l'exercice 9 sur les bases de l'algorithmique dont on rappelle l'Ă©noncĂ© ci-dessous. Vous vĂ©rifiez Ă©galement vos rĂ©ponses avec Python.
Supposons que
Avaut initialement 10 ; combien vaut-il aprÚs l'exécution de cet algorithme ?
pour i de 2 Ă 5 faire A â A + i fin pour
đ Exercice 7
Ăcrivez le programme Python correspondant Ă l'algorithme de l'exercice 10 sur les bases de l'algorithmique dont on rappelle l'Ă©noncĂ© ci-dessous. Vous vĂ©rifiez Ă©galement vos rĂ©ponses avec Python.
Supposons que
Vvaut 0 initialement ; combien vaut-il aprÚs l'exécution de cet algorithme ?
pour I de 1 Ă 4 par pas de 1 faire si I est pair alors V â V + I*I fin si fin pour
đ Exercice 8
Ăcrivez le programme Python correspondant Ă l'algorithme de l'exercice 12 sur les bases de l'algorithmique dont on rappelle l'Ă©noncĂ© ci-dessous. Vous vĂ©rifiez Ă©galement vos rĂ©ponses avec Python.
Supposons que
Avaut 1 initialement ; combien vaut-il aprÚs l'exécution de cet algorithme ?
pour i de 0 Ă 3 faire pour j de 0 Ă 2 faire A â A + i*j fin pour fin pour
đ Exercice 9
Q1 : Quelles sont les valeurs affichées dans la console lors de l'exécution de chacun des programmes ci-dessous ? Attention, il faut répondre sans exécuter le code !
Programme 1 :
Programme 2 :
Programme 3 :
Q2 : Vérifiez en réécrivant et en exécutant chacun de ces programmes.
đ Exercice 10
On considĂšre le programme Python suivant :
Q1 : Quelle est le rĂŽle de ce code. Quelle est la valeur finale de la variable compteur ?
Réponse (à compléter) :
Q2 : Recopiez ce code et vérifiez la réponse à la question précédente.
Q3 : Modifiez le code pour compter le nombre de 'a'.
Boucles non bornées : boucles while
đ Exercice 11
Ăcrivez le programme Python correspondant Ă l'algorithme de l'exercice 13 sur les bases de l'algorithmique dont on rappelle l'Ă©noncĂ© ci-dessous. Vous vĂ©rifiez Ă©galement vos rĂ©ponses avec Python.
Supposons que
Dvaut 7 initialement ; que vaut-il aprÚs l'exécution de cet algorithme ?
tant que D > 3 faire D â D - 3 fin tant que
đ Exercice 12
Reprenez le programme Python de l'exercice précédent et ajoutez-y une variable qui compte le nombre d'itérations dans la boucle while. Cela pour permettra de vérifier la question 2 de l'exercice 14 sur les bases de l'algorithmique dont on rappelle l'énoncé ci-dessous. Vous vérifiez également vos réponses avec Python.
On considÚre l'algorithme précédent.
Supposons que
Dvaut 2 aprÚs l'exécution de cet algorithme. Quelles valeurs parmi celles proposées ci-dessous pouvait-il avoir initialement ? -2 ; 2 ; 6 ; 14 ; 25.Supposons que
Dvaut 25 initialement ; combien d'itérations (c'est-à -dire de passages dans la répétitive) ont lieu avant que l'exécution de cet algorithme ne se termine ?
đ Exercice 13
Ăcrivez le programme Python correspondant Ă l'algorithme de l'exercice 15 sur les bases de l'algorithmique dont on rappelle l'Ă©noncĂ© ci-dessous. Vous vĂ©rifiez Ă©galement vos rĂ©ponses avec Python.
Proposez un algorithme qui utilise une boucle Tant que qui a pour but d'afficher le quotient de la division entiĂšre d'un entier naturel A par un entier naturel B.
Les fonctions
đ Exercice 14
Ăcrivez le programme Python correspondant Ă l'algorithme de l'exercice 16 sur les bases de l'algorithmique dont on rappelle l'Ă©noncĂ© ci-dessous. Vous vĂ©rifiez Ă©galement vos rĂ©ponses avec Python.
Proposez le pseudo-code d'une fonction
minimumqui renvoie le minimum des deux nombres donnés en paramÚtres.
đ Exercice 15
Ăcrivez le programme Python correspondant Ă l'algorithme de l'exercice 17 sur les bases de l'algorithmique dont on rappelle l'Ă©noncĂ© ci-dessous. Vous vĂ©rifiez Ă©galement vos rĂ©ponses avec Python.
Proposez le pseudo-code d'une fonction
minimum4qui renvoie le minimum des 4 nombres donnés en paramÚtres. Contrainte : vous devez faire appel à la fonctionminimum!
đ Exercice 16
Adaptez le code de l'exercice 10 pour Ă©crire une fonction compte_caractere(c, chaine) qui renvoie le nombre de fois oĂč apparaĂźt le caractĂšre c dans la chaĂźne de caractĂšres chaine (on parle du nombre d'occurrences de c).
Exemple : l'appel compte_caractere('e', 'peace and love') doit renvoyer la valeur 3, ce que l'on écrit :