06 Exos Fonctions Correction
Commencer par les 3 premiers exercices sur papier.
Puis faire la fiche Capytale.
Exercice 1⚓︎
Écrire une fonction nommée rien qui affiche le mot "rien" et appeler deux fois cette fonction.
Solution
def rien():
print("rien")
rien() # affiche "rien"
rien() # affiche "rien"
Exercice 2⚓︎
Écrire une fonction nommée eloge_de_rien qui retourne la chaine de caractères rien. L’appeler et afficher sa valeur de retour.
Solution
def eloge_de_rien():
"""Dédié à personne"""
return 'rien'
print(eloge_de_rien())
# Un premier aperçu de l'utilisation des docstrings :
help(eloge_de_rien)
rien
Help on function eloge_de_rien in module __main__:
eloge_de_rien()
Dédié à personne
Exercice 3⚓︎
- Définir une fonction nommée
bonjour, qui prend un paramètren, et qui répètenfois (affiche avecprint) la chaîne de caractèresHello ! - Appeler cette fonction pour vérifier que
bonjour(3)affiche bienHello !trois fois comme il convient !
Solution
def bonjour(n):
print('Hello ! ' * n)
bonjour(1)
bonjour(3)
bonjour(6)
Hello !
Hello ! Hello ! Hello !
Hello ! Hello ! Hello ! Hello ! Hello ! Hello !
La fiche d'exercices sur Capytale.⚓︎
Exercice 1 :⚓︎
-
Écrire une fonction
hello()qui affichebonjourà l'écran.🐍 Script Pythondef hello(): print("bonjour") -
Appeler cette fonction pour tester qu'elle affiche bien
bonjourà l'écran.🐍 Script PythonOn obtient l'affichage :hello()📋 Textebonjour
Exercice 2 :⚓︎
-
Écrire une fonction
politesse(texte)qui teste letextepassé en paramètre. Si celui-ci estbonjour, alors la fonction affiche elle aussi répondbonjour, sinon, elle afficheun peu de politesse ?.🐍 Script Pythondef politesse(texte): if texte == "bonjour": print("bonjour") else: print("un peu de politesse ?") -
Tester cette fonction, une fois où elle doit répondre
bonjour, et une fois où elle doit répondreun peu de politesse ?.🐍 Script Python# appel qui doit répondre "bonjour" : politesse("bonjour") # appel qui doit répondre "un peu de politesse ?" : politesse("bonsoir")
Exercice 3 :⚓︎
-
Écrire une fonction
methode_coue(n)qui affichenfois le texte"Je vais réussir mon exercice.".🐍 Script Pythondef methode_coue(n): for i in range(n): print("Je vais réussir mon exercice.") -
Appeler cette fonction pour la tester.
🐍 Script PythonOn obtient l'affichage :methode_coue(5)📋 TexteJe vais réussir mon exercice. Je vais réussir mon exercice. Je vais réussir mon exercice. Je vais réussir mon exercice. Je vais réussir mon exercice.
Exercice 4 :⚓︎
-
Écrire une fonction
carre(x)qui retourne le carré du nombrex.🐍 Script Pythondef carre(x): return x ** 2 -
Voici déjà quelques tests. Appelez également la fonction pour faire afficher le carré de 6.
🐍 Script Pythonassert carre(0) == 0 assert carre(1) == 1 assert carre(2) == 4 assert carre(3) == 9 print(carre(6))
Exercice 5 :⚓︎
-
Écrire une fonction
somme(x, y)qui retourne la somme des deux entiersxety.🐍 Script Pythondef somme(x, y): return x + y -
Appelez la fonction pour faire afficher quelques sommes.
🐍 Script Pythonprint(somme(3, 6)) # va afficher 9 print(somme(0, 10)) # va afficher 10
Exercice 6 :⚓︎
-
Écrire une fonction
est_pair(n)qui retourne une valeur booléenneTrueouFalsesuivant si le nombre est pair ou pas.🐍 Script Pythondef est_pair(n): if n % 2 == 0: return True else: return False # Autre version, plus synthétique : def est_pair(n): return n % 2 == 0 -
Testez cette fonction avec quelques valeurs.
On remarquera qu'il est intéressant de tester des valeurs qui couvrent différentes réponses. Dans le cas des booléens, on remarque également la syntaxe.🐍 Script Pythonassert est_pair(2) == True assert est_pair(3) == False assert est_pair(4) # on peut le faire afficher : print(est_pair(9)) # va afficher 9 # ou on peut l'inclure comme test d'une structure conditionnelle : if est_pair(10): print("super, 10 est pair") else: print("oups") if est_pair(13): print("re-oups") else: print("super, 13 est impair")
Exercice 7 :⚓︎
-
Écrire une fonction
saisir_liste_10()qui demande à l'utilisateur de saisir une par une 10 valeurs entières, qui les range au fur et à mesure dans une liste, et qui retourne la liste obtenue.🐍 Script Pythondef saisir_liste_10(): L = [] for i in range(10): L.append(int(input("Merci de saisir un nombre entier : "))) return L -
Tester cette fonction.
🐍 Script PythonL2 = saisir_liste_10() print(L2) -
Écrire une fonction
saisir_liste(n)qui fait comme la précédente, mais pournau lieu de 10 : elle demande à l'utilisateur de saisir une par unenvaleurs entières, et elle les range au fur et à mesure dans une liste. Puis elle retourne la liste obtenue.🐍 Script Pythondef saisir_liste(n): L = [] for i in range(n): L.append(int(input("Merci de saisir un nombre entier : "))) return L -
Tester cette fonction.
🐍 Script PythonL3 = saisir_liste(5) print(L3)