Aller au contenu

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
🐍 Script Python
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
🐍 Script Python
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)
📋 Texte
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ètre n, et qui répète n fois (affiche avec print) la chaîne de caractères Hello !
  • Appeler cette fonction pour vérifier que bonjour(3) affiche bien Hello ! trois fois comme il convient !
Solution
🐍 Script Python
def bonjour(n):
    print('Hello ! ' * n)
🐍 Script Python
bonjour(1)
bonjour(3)
bonjour(6)
📋 Texte
Hello !
Hello ! Hello ! Hello !
Hello ! Hello ! Hello ! Hello ! Hello ! Hello !

La fiche d'exercices sur Capytale.⚓︎

Exercice 1 :⚓︎

  1. Écrire une fonction hello() qui affiche bonjour à l'écran.

    🐍 Script Python
    def hello():
        print("bonjour")
    

  2. Appeler cette fonction pour tester qu'elle affiche bien bonjour à l'écran.

    🐍 Script Python
    hello()
    
    On obtient l'affichage :
    📋 Texte
    bonjour
    

Exercice 2 :⚓︎

  1. Écrire une fonction politesse(texte) qui teste le texte passé en paramètre. Si celui-ci est bonjour, alors la fonction affiche elle aussi répond bonjour, sinon, elle affiche un peu de politesse ?.

    🐍 Script Python
    def politesse(texte):
        if texte == "bonjour":
            print("bonjour")
        else:
            print("un peu de politesse ?")
    

  2. Tester cette fonction, une fois où elle doit répondre bonjour, et une fois où elle doit répondre un 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 :⚓︎

  1. Écrire une fonction methode_coue(n) qui affiche n fois le texte "Je vais réussir mon exercice.".

    🐍 Script Python
    def methode_coue(n):
        for i in range(n):
            print("Je vais réussir mon exercice.")
    

  2. Appeler cette fonction pour la tester.

    🐍 Script Python
    methode_coue(5)
    
    On obtient l'affichage :
    📋 Texte
    Je 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 :⚓︎

  1. Écrire une fonction carre(x) qui retourne le carré du nombre x.

    🐍 Script Python
    def carre(x):
        return x ** 2
    

  2. Voici déjà quelques tests. Appelez également la fonction pour faire afficher le carré de 6.

    🐍 Script Python
    assert carre(0) == 0
    assert carre(1) == 1
    assert carre(2) == 4
    assert carre(3) == 9
    print(carre(6))
    

Exercice 5 :⚓︎

  1. Écrire une fonction somme(x, y) qui retourne la somme des deux entiers x et y.

    🐍 Script Python
    def somme(x, y):
        return x + y
    

  2. Appelez la fonction pour faire afficher quelques sommes.

    🐍 Script Python
    print(somme(3, 6))   # va afficher 9
    print(somme(0, 10))  # va afficher 10
    

Exercice 6 :⚓︎

  1. Écrire une fonction est_pair(n) qui retourne une valeur booléenne True ou False suivant si le nombre est pair ou pas.

    🐍 Script Python
    def 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
    

  2. 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 Python
    assert 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 :⚓︎

  1. É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 Python
    def saisir_liste_10():
        L = []
        for i in range(10):
            L.append(int(input("Merci de saisir un nombre entier : ")))
        return L
    

  2. Tester cette fonction.

    🐍 Script Python
    L2 = saisir_liste_10()
    print(L2)
    

  3. Écrire une fonction saisir_liste(n) qui fait comme la précédente, mais pour n au lieu de 10 : elle demande à l'utilisateur de saisir une par une n valeurs entières, et elle les range au fur et à mesure dans une liste. Puis elle retourne la liste obtenue.

    🐍 Script Python
    def saisir_liste(n):
        L = []
        for i in range(n):
            L.append(int(input("Merci de saisir un nombre entier : ")))
        return L
    

  4. Tester cette fonction.

    🐍 Script Python
    L3 = saisir_liste(5)
    print(L3)