SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
Notre Dame de La Merci
Exercices généraux sur Python
Exercice 1
Transformer 42569 secondes en heures, minutes, secondes.
Exercice 2
Un magasin de reprographie propose un tarif dégressif. Les 20 premières photographies sont facturées à 10
centimes et les suivantes à 8 centimes.
1. Calculer à la main le coût de 15 puis de 30 photocopies.
2. Écrire une fonction prix(n) qui renvoie le prix en euros pour n photocopies. La tester.
Exercice 3
Voici deux fonctions nommées truc et bidule.
def truc(x):
print(x)
return(2*x)
print(3*x)
return(4*x)
def bidule(x):
print(x)
print(2*x)
return(3*x)
print(4*x)
On exécute truc(10).
1. Quelle(s) valeur(s) (est) sont affichée(s)? Quelle valeur est renvoyée?
2. Même question avec bidule(10).
Exercice 4 (Diviseurs d’un nombre triangulaire)
Un nombre est dit triangulaire d’indice n s’il égal à 1+2+3+···+n.
Par exemple, le nombre triangulaire d’indice 5 vaut 15 car 1+2+3+4+5=15.
1. Écrire une fonction triangle qui renvoie la valeur du nombre triangulaire d’indice n.
Par exemple triangle(5) renverra 15.
2. Écrire une fonction nbre_diviseurs qui renvoie le nombre de diviseurs d’un entier n ∈ N∗.
Par exemple, les diviseurs de 6 sont 1, 2, 3, 6. Il y a donc 4 diviseurs, ainsi nbre_diviseurs(6) renverra
4
3. Écrire un script qui détermine le plus petit nombre triangulaire qui admette au moins 50 diviseurs.
Exercice 5 (Découverte des factorielles)
Soit n ∈N∗, on appelle «factorielle n» noté n!, l’entier n!=1×2×···×n avec la convention 0!=1.
Par exemple, 4!=1×2×3×4=24=4×3!.
1. Écrire le nombre 15×14×13×12×11 comme un quotient de deux factorielles.
2. Exprimer à l’aide de factorielles les deux produits suivants : 2×4×6×···×100 et 1×3×5×···×99.
3. Combien y-a-t-il d’anagrammes du mot fleur? Et du mot tennis?
4. Écrire un script qui calcule 64!
5. Écrire une fonction factorielle qui prend en argument un entier naturel n et renvoie n!
Exercice 6 (Combien de truc et bidule?)
Pour les trois scripts suivants, dire ce qui est affiché et combien de fois.
for i in range(3):
print(’bidule’)
print(’truc’)
for i in range(3):
print(’bidule’)
for j in range(4):
print(’truc’)
for i in range(3):
print(’bidule’)
for j in range(4):
print(’truc’)
Exercice 7 (polygone régulier)
1. Tracer un triangle équilatéral, un carré puis un pentagone
régulier.
2. On automatise tout cela! Définir une fonction polygone(n, L) qui
trace un polygone régulier à n côtés, chacun de longueur L, puis
reproduire à l’aide de cette fonction la figure 2.
3. En déduire une méthode pour tracer un cercle.
Exercice 8 (Nombres d’Amstrong)
On souhaite déterminer les entiers naturels qui sont égaux à la somme des cubes de leurs chiffres. De tels
entiers seront appelés des nombres d’Armstrong.
Par exemple, l’entier 0 est un nombre d’Armstrong car 3
0 0

mais l’entier 59 n’en est pas un car 3 3
5 9 854
  donc 3 3
5 9 59
  .
1. Écrire une fonction somme_cubes_chiffres qui prend en argument un entier naturel et renvoie la
somme des cubes de ses chiffres.
Par exemple, somme_cubes_chiffres(256) devra renvoyer 3 3 3
2 5 6 349
   .
2. Écrire un script qui détermine les nombres d’Amstrong inférieurs à 10 000.
Notre Dame de La Merci – CORRIGE
Exercice 1
Transformer 42569 secondes en heures, minutes, secondes.
n=int(input("Entrez le nombre de secondes"))
H=n//3600
r=n%3600
M=r//60
S=r%60
print(n,'secondes =',H,'heures,',M,'minutes et',S,'secondes')
si n = 42569, alors 42569 secondes = 11 heures, 49 minutes et 29 secondes
Exercice 2
Un magasin de reprographie propose un tarif dégressif. Les 20 premières photographies sont facturées à 10
centimes et les suivantes à 8 centimes.
1. Calculer à la main le coût de 15 puis de 30 photocopies.
15 photocopies : 15 10 150
  centimes
30 photocopies : 20 10 10 8 280
    centimes
2. Écrire une fonction prix(n) qui renvoie le prix en euros pour n photocopies. La tester.
def prix(n):
if n<=20:
print(20*n, "centimes")
else:
print(200+(n-20)*8, "centimes")
n=int(input("Saisir le nombre de photocopies :"))
prix(n)
si n = 50 : 440 centimes
Exercice 3
Voici deux fonctions nommées truc et bidule.
def truc(x):
print(x)
return(2*x)
print(3*x)
return(4*x)
def bidule(x):
print(x)
print(2*x)
return(3*x)
print(4*x)
1. On exécute truc(10). Quelle(s) valeur(s) (est) sont affichée(s)? Quelle valeur est renvoyée?
Le programme affiche 10 puis renverra la valeur 20
Une fonction s’arrête après la commande return.
2. Même question avec bidule(10).
Le programme affiche 10 et 20 puis renverra la valeur 30
Une fonction s’arrête après la commande return.
Exercice 4 (Diviseurs d’un nombre triangulaire)
Un nombre est dit triangulaire d’indice n s’il égal à 1+2+3+···+n.
Par exemple, le nombre triangulaire d’indice 5 vaut 15 car 1+2+3+4+5=15.
1. Écrire une fonction triangle qui renvoie la valeur du nombre triangulaire d’indice n.
Par exemple triangle(5) renverra 15.
2. Écrire une fonction nbre_diviseurs qui renvoie le nombre de diviseurs d’un entier n ∈ N∗.
Par exemple, les diviseurs de 6 sont 1, 2, 3, 6. Il y a donc 4 diviseurs, ainsi nbre_diviseurs(6) renverra
4
3. Écrire un script qui détermine le plus petit nombre triangulaire qui admette au moins 50 diviseurs.
def triangle(n):
S=0
for i in range(1,n+1):
S=S+i
return(S)
def nb_diviseurs(n):
D=0
for i in range(1,n+1):
if n%i==0:
D=D+1
return(D)
i=2
nbdiv=0
while nbdiv<50:
i=i+1
k=triangle(i)
nbdiv=nb_diviseurs(k)
print(triangle(i))
25200
Exercice 5 (Découverte des factorielles)
Soit n ∈N∗, on appelle «factorielle n» noté n!, l’entier n!=1×2×···×n avec la convention 0!=1.
Par exemple, 4!=1×2×3×4=24=4×3!.
1. Écrire le nombre 15×14×13×12×11 comme un quotient de deux factorielles.
2. Exprimer à l’aide de factorielles les deux produits suivants : 2×4×6×···×100 et 1×3×5×···×99.
3. Combien y-a-t-il d’anagrammes du mot fleur? Et du mot tennis?
4. Écrire un script qui calcule 64!
5. Écrire une fonction factorielle qui prend en argument un entier naturel n et renvoie n!
Exercice 6 (Combien de truc et bidule?)
Pour les trois scripts suivants, dire ce qui est affiché et combien de fois.
for i in range(3):
print(’bidule’)
print(’truc’)
bidule, bidule, bidule, truc
for i in range(3):
print(’bidule’)
for j in range(4):
print(’truc’)
 bidule, bidule, bidule, truc,
truc, truc, truc
for i in range(3):
print(’bidule’)
for j in range(4):
print(’truc’)
 bidule, truc, truc, truc, truc,
bidule, truc, truc, truc, truc,
bidule, truc, truc, truc, truc
Exercice 7 (polygone régulier)
1. Tracer un triangle équilatéral, un carré puis un pentagone
régulier.
2. On automatise tout cela! Définir une fonction polygone(n, L) qui
trace un polygone régulier à n côtés, chacun de longueur L, puis
reproduire à l’aide de cette fonction la figure 2.
def polygone(n,l):
for i in range(n):
forward(l)
left(2*180/n)
from turtle import *
pensize(2)
pencolor("blue")
for i in range (3,8):
polygone(i,150)
mainloop()
3. En déduire une méthode pour tracer un cercle.
Il faudrait choisir un grand nombre de côtés de petite dimension (pour qu’il tienne dans la fenêtre
d’écriture :
def polygone(n,l):
for i in range(n):
forward(l)
left(2*180/n)
from turtle import *
pensize(2)
pencolor("blue")
polygone(100,10)
mainloop()
Exercice 8 (Nombres d’Amstrong)
On souhaite déterminer les entiers naturels qui sont égaux à la somme des cubes de leurs chiffres. De tels
entiers seront appelés des nombres d’Armstrong.
Par exemple, l’entier 0 est un nombre d’Armstrong car 3
0 0

mais l’entier 59 n’en est pas un car 3 3
5 9 854
  donc 3 3
5 9 59
  .
1. Écrire une fonction somme_cubes_chiffres qui prend en argument un entier naturel et renvoie la
somme des cubes de ses chiffres.
Par exemple, somme_cubes_chiffres(256) devra renvoyer 3 3 3
2 5 6 349
   .
def somme_cubes_chiffres(n):
S=0
while n != 0:
S=S+(n%10)**3
n=n//10
print(S) # n’est pas utile mais permet de visualiser le bon déroulement du processus
print(S)
somme_cubes_chiffres(421)

1
9
73
73
2. Écrire un script qui détermine les nombres d’Amstrong inférieurs à 10000.
def somme_cubes_chiffres(n):
S=0
i=1
while n != 0:
S=S+(n%10**i)**3
n=n//10**i
return(S)
for i in range(10001):
if somme_cubes_chiffres(i)==i:
print(i)

0
1
153
370
371
407

Contenu connexe

Similaire à Exercices%20g%C3%A9n%C3%A9raux%20sur%20Python (1).pdf

Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesECAM Brussels Engineering School
 
chap 3 complexité (3).pdf
chap 3 complexité (3).pdfchap 3 complexité (3).pdf
chap 3 complexité (3).pdfdonixwm
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)DriNox NordisTe
 
Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitésalah fenni
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
Les vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfLes vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfrezgui10
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdfsalah fenni
 
Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...
Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...
Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...Fatima Zahra Fagroud
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptxMohammedErritali2
 
Chapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfChapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfMbarkiIsraa
 
Exercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeExercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeWajihBaghdadi1
 
livre-algorithmes.pdf
livre-algorithmes.pdflivre-algorithmes.pdf
livre-algorithmes.pdfDurelDonfack
 
Résumé Algorithme et Programmation
Résumé Algorithme et ProgrammationRésumé Algorithme et Programmation
Résumé Algorithme et Programmationborhen boukthir
 

Similaire à Exercices%20g%C3%A9n%C3%A9raux%20sur%20Python (1).pdf (20)

Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 
chap 3 complexité (3).pdf
chap 3 complexité (3).pdfchap 3 complexité (3).pdf
chap 3 complexité (3).pdf
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)
 
Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivité
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 
Les vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfLes vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdf
 
transparents-Algo-complexite.pdf
transparents-Algo-complexite.pdftransparents-Algo-complexite.pdf
transparents-Algo-complexite.pdf
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...
Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...
Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptx
 
Chapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfChapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdf
 
Exercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeExercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrige
 
Exercice intégrales
Exercice intégralesExercice intégrales
Exercice intégrales
 
livre-algorithmes.pdf
livre-algorithmes.pdflivre-algorithmes.pdf
livre-algorithmes.pdf
 
La série 3 en pascal
La série 3 en pascalLa série 3 en pascal
La série 3 en pascal
 
Resume algorithme
Resume algorithmeResume algorithme
Resume algorithme
 
Résumé Algorithme et Programmation
Résumé Algorithme et ProgrammationRésumé Algorithme et Programmation
Résumé Algorithme et Programmation
 

Dernier

Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEgharebikram98
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 

Dernier (20)

Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 

Exercices%20g%C3%A9n%C3%A9raux%20sur%20Python (1).pdf

  • 1. Notre Dame de La Merci Exercices généraux sur Python Exercice 1 Transformer 42569 secondes en heures, minutes, secondes. Exercice 2 Un magasin de reprographie propose un tarif dégressif. Les 20 premières photographies sont facturées à 10 centimes et les suivantes à 8 centimes. 1. Calculer à la main le coût de 15 puis de 30 photocopies. 2. Écrire une fonction prix(n) qui renvoie le prix en euros pour n photocopies. La tester. Exercice 3 Voici deux fonctions nommées truc et bidule. def truc(x): print(x) return(2*x) print(3*x) return(4*x) def bidule(x): print(x) print(2*x) return(3*x) print(4*x) On exécute truc(10). 1. Quelle(s) valeur(s) (est) sont affichée(s)? Quelle valeur est renvoyée? 2. Même question avec bidule(10). Exercice 4 (Diviseurs d’un nombre triangulaire) Un nombre est dit triangulaire d’indice n s’il égal à 1+2+3+···+n. Par exemple, le nombre triangulaire d’indice 5 vaut 15 car 1+2+3+4+5=15. 1. Écrire une fonction triangle qui renvoie la valeur du nombre triangulaire d’indice n. Par exemple triangle(5) renverra 15. 2. Écrire une fonction nbre_diviseurs qui renvoie le nombre de diviseurs d’un entier n ∈ N∗. Par exemple, les diviseurs de 6 sont 1, 2, 3, 6. Il y a donc 4 diviseurs, ainsi nbre_diviseurs(6) renverra 4 3. Écrire un script qui détermine le plus petit nombre triangulaire qui admette au moins 50 diviseurs. Exercice 5 (Découverte des factorielles) Soit n ∈N∗, on appelle «factorielle n» noté n!, l’entier n!=1×2×···×n avec la convention 0!=1. Par exemple, 4!=1×2×3×4=24=4×3!. 1. Écrire le nombre 15×14×13×12×11 comme un quotient de deux factorielles. 2. Exprimer à l’aide de factorielles les deux produits suivants : 2×4×6×···×100 et 1×3×5×···×99. 3. Combien y-a-t-il d’anagrammes du mot fleur? Et du mot tennis? 4. Écrire un script qui calcule 64! 5. Écrire une fonction factorielle qui prend en argument un entier naturel n et renvoie n! Exercice 6 (Combien de truc et bidule?) Pour les trois scripts suivants, dire ce qui est affiché et combien de fois. for i in range(3): print(’bidule’) print(’truc’) for i in range(3): print(’bidule’) for j in range(4): print(’truc’) for i in range(3): print(’bidule’) for j in range(4): print(’truc’)
  • 2. Exercice 7 (polygone régulier) 1. Tracer un triangle équilatéral, un carré puis un pentagone régulier. 2. On automatise tout cela! Définir une fonction polygone(n, L) qui trace un polygone régulier à n côtés, chacun de longueur L, puis reproduire à l’aide de cette fonction la figure 2. 3. En déduire une méthode pour tracer un cercle. Exercice 8 (Nombres d’Amstrong) On souhaite déterminer les entiers naturels qui sont égaux à la somme des cubes de leurs chiffres. De tels entiers seront appelés des nombres d’Armstrong. Par exemple, l’entier 0 est un nombre d’Armstrong car 3 0 0  mais l’entier 59 n’en est pas un car 3 3 5 9 854   donc 3 3 5 9 59   . 1. Écrire une fonction somme_cubes_chiffres qui prend en argument un entier naturel et renvoie la somme des cubes de ses chiffres. Par exemple, somme_cubes_chiffres(256) devra renvoyer 3 3 3 2 5 6 349    . 2. Écrire un script qui détermine les nombres d’Amstrong inférieurs à 10 000.
  • 3. Notre Dame de La Merci – CORRIGE Exercice 1 Transformer 42569 secondes en heures, minutes, secondes. n=int(input("Entrez le nombre de secondes")) H=n//3600 r=n%3600 M=r//60 S=r%60 print(n,'secondes =',H,'heures,',M,'minutes et',S,'secondes') si n = 42569, alors 42569 secondes = 11 heures, 49 minutes et 29 secondes Exercice 2 Un magasin de reprographie propose un tarif dégressif. Les 20 premières photographies sont facturées à 10 centimes et les suivantes à 8 centimes. 1. Calculer à la main le coût de 15 puis de 30 photocopies. 15 photocopies : 15 10 150   centimes 30 photocopies : 20 10 10 8 280     centimes 2. Écrire une fonction prix(n) qui renvoie le prix en euros pour n photocopies. La tester. def prix(n): if n<=20: print(20*n, "centimes") else: print(200+(n-20)*8, "centimes") n=int(input("Saisir le nombre de photocopies :")) prix(n) si n = 50 : 440 centimes Exercice 3 Voici deux fonctions nommées truc et bidule. def truc(x): print(x) return(2*x) print(3*x) return(4*x) def bidule(x): print(x) print(2*x) return(3*x) print(4*x) 1. On exécute truc(10). Quelle(s) valeur(s) (est) sont affichée(s)? Quelle valeur est renvoyée? Le programme affiche 10 puis renverra la valeur 20 Une fonction s’arrête après la commande return. 2. Même question avec bidule(10). Le programme affiche 10 et 20 puis renverra la valeur 30 Une fonction s’arrête après la commande return. Exercice 4 (Diviseurs d’un nombre triangulaire) Un nombre est dit triangulaire d’indice n s’il égal à 1+2+3+···+n. Par exemple, le nombre triangulaire d’indice 5 vaut 15 car 1+2+3+4+5=15. 1. Écrire une fonction triangle qui renvoie la valeur du nombre triangulaire d’indice n. Par exemple triangle(5) renverra 15. 2. Écrire une fonction nbre_diviseurs qui renvoie le nombre de diviseurs d’un entier n ∈ N∗.
  • 4. Par exemple, les diviseurs de 6 sont 1, 2, 3, 6. Il y a donc 4 diviseurs, ainsi nbre_diviseurs(6) renverra 4 3. Écrire un script qui détermine le plus petit nombre triangulaire qui admette au moins 50 diviseurs. def triangle(n): S=0 for i in range(1,n+1): S=S+i return(S) def nb_diviseurs(n): D=0 for i in range(1,n+1): if n%i==0: D=D+1 return(D) i=2 nbdiv=0 while nbdiv<50: i=i+1 k=triangle(i) nbdiv=nb_diviseurs(k) print(triangle(i)) 25200 Exercice 5 (Découverte des factorielles) Soit n ∈N∗, on appelle «factorielle n» noté n!, l’entier n!=1×2×···×n avec la convention 0!=1. Par exemple, 4!=1×2×3×4=24=4×3!. 1. Écrire le nombre 15×14×13×12×11 comme un quotient de deux factorielles. 2. Exprimer à l’aide de factorielles les deux produits suivants : 2×4×6×···×100 et 1×3×5×···×99. 3. Combien y-a-t-il d’anagrammes du mot fleur? Et du mot tennis? 4. Écrire un script qui calcule 64! 5. Écrire une fonction factorielle qui prend en argument un entier naturel n et renvoie n! Exercice 6 (Combien de truc et bidule?) Pour les trois scripts suivants, dire ce qui est affiché et combien de fois. for i in range(3): print(’bidule’) print(’truc’) bidule, bidule, bidule, truc for i in range(3): print(’bidule’) for j in range(4): print(’truc’)  bidule, bidule, bidule, truc, truc, truc, truc for i in range(3): print(’bidule’) for j in range(4): print(’truc’)  bidule, truc, truc, truc, truc, bidule, truc, truc, truc, truc, bidule, truc, truc, truc, truc Exercice 7 (polygone régulier) 1. Tracer un triangle équilatéral, un carré puis un pentagone régulier. 2. On automatise tout cela! Définir une fonction polygone(n, L) qui trace un polygone régulier à n côtés, chacun de longueur L, puis reproduire à l’aide de cette fonction la figure 2.
  • 5. def polygone(n,l): for i in range(n): forward(l) left(2*180/n) from turtle import * pensize(2) pencolor("blue") for i in range (3,8): polygone(i,150) mainloop() 3. En déduire une méthode pour tracer un cercle. Il faudrait choisir un grand nombre de côtés de petite dimension (pour qu’il tienne dans la fenêtre d’écriture : def polygone(n,l): for i in range(n): forward(l) left(2*180/n) from turtle import * pensize(2) pencolor("blue") polygone(100,10) mainloop() Exercice 8 (Nombres d’Amstrong) On souhaite déterminer les entiers naturels qui sont égaux à la somme des cubes de leurs chiffres. De tels entiers seront appelés des nombres d’Armstrong. Par exemple, l’entier 0 est un nombre d’Armstrong car 3 0 0  mais l’entier 59 n’en est pas un car 3 3 5 9 854   donc 3 3 5 9 59   . 1. Écrire une fonction somme_cubes_chiffres qui prend en argument un entier naturel et renvoie la somme des cubes de ses chiffres. Par exemple, somme_cubes_chiffres(256) devra renvoyer 3 3 3 2 5 6 349    . def somme_cubes_chiffres(n): S=0 while n != 0: S=S+(n%10)**3 n=n//10 print(S) # n’est pas utile mais permet de visualiser le bon déroulement du processus print(S) somme_cubes_chiffres(421)  1 9 73 73 2. Écrire un script qui détermine les nombres d’Amstrong inférieurs à 10000. def somme_cubes_chiffres(n): S=0 i=1
  • 6. while n != 0: S=S+(n%10**i)**3 n=n//10**i return(S) for i in range(10001): if somme_cubes_chiffres(i)==i: print(i)  0 1 153 370 371 407