Activités - Les fonctions
2ème année maturité
Objectifs de ce premier cours
- Comprendre l'utilité de définir des fonctions (éviter de se répéter, réutiliser, organiser).
- Connaître la structure d'une fonction :
def, nom, paramètres,:, corps indenté,return. - Savoir écrire et appeler des fonctions simples.
Coche une réponse par question, puis clique sur Vérifier mes réponses.
1. Pourquoi définit-on des fonctions ?
2. Quel mot-clé sert à définir une fonction ?
3. À la fin de la ligne qui commence par def, on met toujours…
4. Comment appelle-t-on les informations écrites entre les parenthèses, qu'on donne à la fonction ?
5. Que fait l'instruction return ?
6. Qu'est-ce qui délimite le corps (le contenu) d'une fonction ?
7. Quelle est la différence entre print et return ?
8. Comment nomme-t-on l'instruction de la ligne 10 ?
9. Que se passe-t-il si on définit une fonction mais qu'on ne l'appelle jamais ?
10. Dans saluer("Alice"), comment appelle-t-on la valeur "Alice" ?
Complète chaque trou en cliquant dedans, puis clique sur Vérifier. Les guillemets font partie de la réponse quand il y en a. Tu peux Copier le code (avec tes réponses) pour le tester dans Thonny.
On définit une fonction sans paramètre, puis on l'appelle deux fois. Complète le mot-clé de définition, les deux-points, et l'appel de la fonction.
dire_bonjour()
print("Bonjour et bienvenue !")
dire_bonjour
dire_bonjour
La fonction saluer reçoit un prénom en paramètre. Complète le nom du paramètre utilisé dans le print, puis passe le prénom de ton choix comme argument lors de l'appel (n'importe quel prénom entre guillemets, par ex. "Alice").
def saluer(prenom) :
print("Bonjour", )
saluer()
La fonction carre doit retourner le carré du nombre passé en argument. Complète le mot-clé qui retourne une valeur, puis récupère le résultat de l'appel dans une variable.
def carre(nombre) :
nombre * nombre
nombre =
resultat =
print(f"Le carré de {nombre} est", resultat)
Complète la définition de la fonction (mot-clé, nom, paramètres) et le calcul renvoyé : l'aire d'un rectangle est largeur * hauteur.
return
print("Aire :", aire_rectangle(5, 3))
Ouvre Thonny et crée un nouveau fichier pour chaque exercice (ou un seul fichier avec tout, comme tu préfères). Écris le programme, teste-le, puis compare avec le corrigé. Il y a plus d'exercices que nécessaire : va à ton rythme et monte en difficulté.
Écris une fonction dire_bonjour(), sans paramètre, qui affiche
« Bonjour, prêt à coder ? ».
En dessous de ta fonction, appelle-la trois fois.
def dire_bonjour() :
print("Bonjour, prêt à coder ?")
dire_bonjour()
dire_bonjour()
dire_bonjour()
Écris une fonction puissance(nombre, puissance) qui imprime le résultat du nombre élevé à la puissance.
Ensuite, appelle cette fonction, et affiche le résultat pour trois exemples différents.
def puissance(nombre, puissance) :
print(nombre ** puissance)
puissance(3, 4)
puissance(12, 125)
puissance(-13, -10)
print : on ne peut pas le réutiliser. À l'exercice 3, on la modifiera pour qu'elle le retourne.Modifie la fonction puissance(nombre, puissance) de l'exercice 2, afin de ne pas afficher le résultat mais de le retourner.
Dans le programme principal:
- Appeler cette fonction avec comme arguments respectivement 20 et 81, et
- Stocker le résultat dans une variable nommée
res - Afficher
res
def puissance(nombre, puissance) :
return nombre ** puissance
res = puissance(20, 81)
print(res)
En utilisant la fonction de l'exercice 3, ainsi qu’une boucle, afficher tous les nombres compris entre 2 et 25 élevés à la puissance 7.
Afficher les résultats sous la forme
- 2 puissance 7 = ...
- 3 puissance 7 = ...
### Fonctions
def puissance(nombre, puissance):
return nombre**puissance
### Programme principal
for nombre in range(2, 26):
res = puissance(nombre, 7)
print(f"{nombre} puissance 7 = {res}")
puissance dans une boucle : on réutilise la même fonction pour chaque nombre, sans rien recopier.- Écris une fonction
addqui prend une liste en paramètre et qui retourne la somme de tous ses éléments.
Testez votre programme en appelant avec la liste Liste = [3,4,5,6,7,8,11]. Le résultat doit être 44.
-
Écris une nouvelle fonction, appelée
listeAlea, qui va créer et retourner une liste de 10 nombres entiers compris entre 2 et 100, de manière aléatoire.
Remplace la liste définie dans la partie 1 par l'appel de cette fonction, et affiche enfin la liste est sa somme.
### Imports
from random import *
### Fonctions
def add(liste):
somme = 0
for x in liste:
somme = somme + x
return somme
def listeAlea():
liste = []
for variable in range(10):
nombre = randrange(2, 100)
liste.append(nombre)
return liste
### Programme principal
ma_liste = listeAlea()
resultat = add(ma_liste)
print(f"{ma_liste} vaut {resultat}")
add parcourt la liste et accumule la somme ; listeAlea construit une liste en ajoutant des nombres avec append. Le programme principal se contente d'appeler les deux fonctions.C'est ici qu'on voit toute la puissance des fonctions ! Écris une fonction point_colore(x, y, couleur) qui
déplace la tortue au point (x, y) (crayon levé) et y dessine un gros point dot(40) de la couleur donnée.
Ensuite, appelle ta fonction plusieurs fois pour dessiner d'un coup plusieurs points de couleurs différentes.
Rappel Turtle : penup(), goto(x, y), color("..."), dot(taille).
from turtle import *
def point_colore(x, y, couleur) :
penup()
goto(x, y)
color(couleur)
dot(40)
point_colore(-100, 0, "red")
point_colore(0, 0, "green")
point_colore(100, 0, "blue")
point_colore(0, 100, "orange")
hideturtle()