L'argent de poche
Yves reçoit de ses parents de l'argent de poche chaque mois. Le premier mois, il reçoit 30€ et chaque mois ses parents augmente le montant donné de 5€. Donc le deuxième mois il dispose en tout de 65€.
Yves décide de ne pas utiliser son argent avant d'avoir 400€.
- 1
De combien d'argent dispose Yves au bout de trois mois ? Donne ta réponse dans la variable
cash_3
Solution
Le premier mois Yves reçoit 30€, le deuxième mois 35 et le troisième 40. Donc en tout il dispose de € au bout de trois mois.
cash_3 = 105
- 2
Yves souhaite savoir dans combien de temps son objectif sera atteint.
Rédige une boucle while pour aider Yves à trouver la réponse. Procède par étapes : quels sont les paramètres du problème ? Quelle condition faut-il vérifier dans la boucle while ? Comment réassigner les variables ? N'oublie pas de vérifier la condition d'arrêt.
Solution
Il nous faut un compteur
m
que l'on va incrémenter de 1 chaque mois, ainsi qu'une variablecash
qui contient le total d'argent de poche aprèsm
mois.On initialise ces deux variables à 0 et c'est la boucle while qui va les incrémenter.
Tant qu'il y a moins de 400€, Yves continue d'économiser, donc la condition d'arrêt est
cash < 400
: dès qu'il y a 400€ ou plus, Yves arrête d'attendre.Ensuite, dans le corps de la boucle while, il faut incrémenter les variables
m
etcash
. Le compteur est incrémenté de un en un avecm = m + 1
.Le mois 2 l'argent de poche total augmente de 35 (ou ), le mois 3 l'argent augment de 40 (ou ). Donc au mois
m
l'argent de poche augmente deDonc on peut réassigner
cash
aveccash = cash + 30 + (m-1) * 5
m = 0 cash = 0 while cash < 400: m = m + 1 cash = cash + 30 + (m - 1) * 5 print(m)
- 3
Lorsque Yves dépense son argent, ses parents recommencent à lui donner 30€ puis 35€ etc.
Défini une fonction
objectif
qui reprend le code de la question précédente, et qui accepte un argument pour personnaliser l'objectif. Par exemple pour savoir dans combien de temps le seuil de 400€ est atteint on appelleobjectif(400)
Pour l'argument, utilise un nom de variable différent des autres variables de ton code. Tu peux supprimer la variable
cash_3
qui ne sert plus.Solution
On place le code de la question précédente dans le corps d'une fonction
objectif
. Cette fonction prend un argument, le seuil à atteindre que l'on peut noters
Il faut ensuite remplacer la condition d'arrêt qui devient
cash < s
puisque la boucle while s'exécute tant que le seuil n'est pas atteint ou dépassé.On remplace également le
print
par unreturn
def objectif(s): m = 0 cash = 0 while cash < s: m = m + 1 cash = cash + 30 + (m - 1) * 5 return m
- 4
Yves a dépensé son argent et se fixe un nouvel objectif d'économiser jusqu'à avoir 600€. Dans combien de temps cet objectif sera atteint ? Utilise la fonction
objectif
dans la console pour avoir la réponse.Solution
Pour obtenir le nombre de mois à attendre, on appelle dans la console la fonction
objectif
avec en argument un seuil de 600>>> objectif(600) 11