Contenu principal
Chapitre 4 · La boucle for › Leçon 7 sur 9

Et les intérêts ?

Gismonde place elle aussi son argent en banque, mais la situation est différente car sa banque lui verse tous les ans un taux d'intérêt de 2% en début d'année. De plus elle dépose toujours 1000€ sur le compte en cours d'année.

Le solde initial de son compte en banque est de 1500€. Disons que c'est l'année 0. Quelle est son épargne à la fin de la première année ? Au début de l'année les 1500€ sont augmentés de 2% et il faut ajouter les 1000€ déposés en cours d'année. Donc le montant de son épargne à la fin de la première année est : 1500+2100×1500+10001500 + \frac{2}{100} \times 1500 + 1000 car les 2% s'appliquent au montant de l'année précédente.

  1. 1

    Défini une variable épargne qui contient l'épargne initiale de Gismonde.

    Solution

    L'épargne initiale est de 1500€

    épargne = 1500
  2. 2

    Quelle est l'épargne disponible sur le compte de Gismonde à la fin de la première année ? Donne la réponse dans une variable épargne_1

    Solution

    épargne_1 est le résultat du calcul 1500+2100×1500+10001500 + \frac{2}{100} \times 1500 + 1000 que l'on peut faire dans la console, et qui donne 25302530

    épargne = 1500
    épargne_1 = 2530
  3. 3

    Quelle est l'épargne disponible à la fin de la deuxième année ? Donne la réponse dans une variable épargne_2. Utilise la variable épargne_1 pour ton calcul

    Solution

    L'épargne en fin de deuxième année s'obtient en augmentant l'épargne en fin de première année de 2%, puis en ajoutant 1000. Donc épargne_2 est le résultat du calcul 2530+2100×2530+10002530 + \frac{2}{100} \times 2530 + 1000 qui donne 3580,63580{,}6

    épargne = 1500
    épargne_1 = 2530
    épargne_2 = 3580.6
  4. 4

    Pour calculer l'épargne disponible dans plusieurs années, on va créer une boucle for pour incrémenter la variable épargne.

    Gismonde veut connaître son épargne à la fin de la cinquième année. Crée une boucle for qui parcoure les années et incrémente la variable épargne correctement. Tu peux mettre un print pour y voir plus clair.

    Solution

    La boucle for doit incrémenter la variable épargne 5 fois. On peut donc utiliser range(5) ou range(1,6) car les deux séquences contiennent cinq valeurs, de 0 à 4 pour la première et de 1 à 5 pour la seconde.

    L'incrémentation de épargne est basée sur le même calcul que dans les questions précédentes : on augmente l'épargne de 2% et on ajoute 1000. Donc épargne = épargne + 2/100 * épargne + 1000

    Pour connaître l'épargne à la fin de la cinquième année on utilise un print après la boucle for. Le print n'est pas indenté, comme ça il ne fait pas partie de la boucle et n'est exécuté qu'une fois la boucle terminée.

    épargne = 1500
    épargne_1 = 2530
    épargne_2 = 3580.6
    
    for n in range(5):
        épargne = épargne + 2/100 * épargne + 1000
    
    print(épargne)
  5. 5

    Quel est l'épargne à la fin de la dixième année ?

    Solution

    On adapte le code de la question précédente pour qu'il y ait 10 itérations. Pour ça on peut utiliser range(10) ou encore range(1,11). Dans le premier cas range(10) génère la séquence de 0 à 9 inclus et dans le deuxième cas range(1,11) génère la séquence de 1 à 10 inclus. Dans les deux cas la boucle for aura dix itérations.

    épargne = 1500
    épargne_1 = 2530
    épargne_2 = 3580.6
    
    for n in range(1,11):
        épargne = épargne + 2/100 * épargne + 1000
    
    print(épargne)
  6. 6

    Comme il suffit de changer le range pour connaître l'épargne d'une année ultérieure, on va créer une fonction qui fait ça automatiquement.

    Je viens de définir la fonction épargne_future qui contient le même code qu'avant. J'ai simplement retiré les variables épargne_1 et épargne_2 qui ne servent plus. J'ai aussi simplifié un peu la réassignation de épargne.

    Observe l'éditeur pour t'assurer que le corps de la fonction épargne_future correspond bien à ce qu'il y avait avant.

    On veut que cette fonction prenne l'année en argument. Par exemple épargne_future(15) doit renvoyer l'épargne à la fin de l'année 15.

    Modifie la fonction épargne_future pour qu'elle prenne un argument et qu'elle renvoie l'épargne correspondante après calculs.

    Solution

    On commence par donner un argument à la fonction épargne_future qui correspond au nombre d'années, disons n. Il faut éviter d'utiliser un nom de variable qui apparaît ailleurs dans le code, par exemple ici k est utilisé dans la boucle for.

    Cet argument va permettre d'adapter le nombre d'itérations. Pour avoir n itérations, on peut utiliser range(n) ou range(1, n+1) par exemple.

    On utilise un return après la boucle for pour renvoyer la valeur de épargne. Le return est indenté dans la fonction mais pas dans la boucle for donc ne s'exécute qu'après la boucle. Le print n'est plus nécessaire, on peut l'enlever.

    def épargne_future(n):
        épargne = 1500
    
        for k in range(n):
            épargne = épargne * 1.02 + 1000
    
        return épargne
  7. 7

    Si tu utilises la fonction épargne_future dans la console, il y a encore beaucoup de décimales. Utilises la fonction round pour arrondir le résultat renvoyé au centime.

    Solution

    Il faut utiliser la fonction round pour arrondir. Comme print cette fonction est utilisable directement, il n'est pas nécessaire de l'importer depuis un module.

    La précision de round est contrôlée par le deuxième argument. Donc ici pour arrondir aux centimes il faut faire round(épargne, 2)

    def épargne_future(n):
        épargne = 1500
    
        for k in range(n):
            épargne = épargne * 1.02 + 1000
    
        return round(épargne, 2)
  8. 8

    Appelle ta fonction épargne_future dans la console pour prédire l'épargne disponible à la fin de l'année 15.

    Solution
    >>> épargne_future(15)
    19312.22

Chargement...

Collecte des fichiers...

>>>