Objectif

Cette séance a pour objectifs de découvrir la boucle while en utilisant une fonction et de créer une fonction à deux sorties. Elle souligne aussi l'importance de l'indentation.

Cette activité est rédigée par Claire Savinas, professeure au lycée Jean Vilar à Villeneuve-Lès-Avignon. Elle est formatrice Python sur l'académie de Montpellier.

Découverte du problème à résoudre

Robin a maintenant 18 ans et souhaite s'acheter une voiture avec un budget de 2 000 euros. Il dispose de 1 500 euros sur un compte avec un taux d'intérêt de 2,5 % par an. Le montant des intérêts est calculé sur le montant disponible sur le compte à la date d'anniversaire du propriétaire du compte et est déposé sur celui-ci le même jour. En supposant qu'il n'effectue pas de nouveau dépôt ni de retrait, calculer la somme disponible :

  1. Le jour de son prochain anniveraire ?

  2. Le jour de son prochain anniveraire, il disposera de 1537,50 euros car 1500×1,025=1537,51500 \times 1,025 = 1 537,5.

  3. Pour ses 20 ans ?

  4. Pour ses 20 ans, il disposera de 1 575,94 euros environ car 1537,5×1,0251575,941537,5 \times 1,025 \approx 1 575,94.

  5. A quel âge aura-t-il assez d'argent pour acheter sa voiture ?

    Aide : Remplir un tableau afin de calculer le montant disponible chaque année sur le compte.

  6. Au bout de 12 ans, il aura assez d'argent sur son compte en banque pour acheter sa voiture, ce qui correspond à un âge de 30 ans. On peut faire le calcul du montant pour chaque année avec la calculatrice, en multipliant le montant précédent par 1,025.

  7. Un élève a créé le programme suivant mais ne parvient pas au bon résultat avec celui-ci. Peux-tu trouver l'erreur ?

    Ce script comporte une erreur.

    Aide : Vérifier l'indentation

  8. L'indentation est mauvaise devant return s.

    Script corrigé.

Découverte de l'utilité de la boucle while

Nous allons commencer par créer notre nouveau script nommé activite4.py.

Voici une fonction nommée voiture qui prend en argument le dépot initial sur le compte et qui renvoie le nombre d'années nécéssaires pour atteindre les 2 000 euros.

Script de la fonction voiture.

La saisir dans le script activite4.py puis faire Exécuter le script dans le menu à droite du titre du script. La fonction ainsi créée est disponible dans le menu de la touche var. Appeler cette fonction avec pour argument le montant initial disponible sur le compte, c'est-à-dire 1 500 euros.

On obtient la valeur 12.

Améliorations de la fonction

  1. Nous allons maintentant modifier le script précédent afin qu'il affiche le nombre d'années que Robin devra attendre ainsi que la somme alors disponible sur son compte.

    Script de la fonction voiture2.

    La saisir dans le script activite4.py puis faire Exécuter le script dans le menu à droite du titre du script. La fonction ainsi créée est disponible dans le menu de la touche var. Appeler cette fonction avec pour argument le montant initial disponible sur le compte, c'est-à-dire 1 500 euros.

  2. Exécution du script.
  3. Modifier le script précédent afin qu'il affiche maintenant l'âge de Robin et également la somme exacte d'argent disponible sur son compte lorsque celui-ci aura dépassé le montant de 2 000 euros.

  4. Proposition de solution.
  5. Comme il souhaite s'acheter une voiture plus rapidement que ses économies et les intérêts ne le lui permettent, il décide d'économiser 100 euros de plus chaque année. Modifier la fonction afin qu'elle affiche l'âge qu'il aura quand il aura au moins 2 000 euros sur son compte, ainsi que la somme exacte disponible sur son compte.

  6. Proposition de solution.