En tête general

(C) Copyright Franck CHEVRIER 2019-2020 http://www.python-lycee.com/

Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée.

Le Banquier et le Savetier

Illustration Banquier Savetier

Le banquier, M Malin, rencontre le savetier, M Circonspect.

M Circonspect lui propose un marché : « Ce mois ci, qui compte 31 jours, je te propose le marché suivant : Je te verse : 20 000 € le 0ème jour (aujourd’hui), 30 000 € le 1er jour, 40 000 € le 2ème jour … etc… en ajoutant 10 000€ chaque jour. En échange, tu me donnes : 1 € le 0ème jour, 2 € le 1er jour, 4 € le 2ème jour, 8 € le 3ème jour, … etc… en doublant à chaque fois ce que tu m’as donné la veille. L’engagement dure sur un mois, es-tu prêt à signer le contrat ? ».

« Quel imbécile ! » se dit M Malin, qui accepta sans sourciller le contrat.

1. Expliquer ce que renvoient les fonctions ci-dessous.

In [1]:
def C(n):
    a=20000
    for k in range(n):
        a = a+10000
    return a

def cherche():
    n=0
    while C(n)<150000:
        n=n+1
    return n
In [2]:
# Tester ici les fonctions C(n) et cherche().

2- Écrire une fonction M donnant la somme versée par M Malin le n ème jour.

In [ ]:
# Ecrire la fonction
In [ ]:
# Tester la fonction

3- Écrire une fonction donnant le jour à partir duquel M Malin verse plus que M Circonspect.

In [ ]:
# Ecrire la fonction
In [ ]:
# Tester la fonction

4- Écrire une fonction donnant la somme versée en tout par M Circonspect le n ème jour.

In [ ]:
# Ecrire la fonction
In [ ]:
# Tester la fonction

Répondre aux questions 5,6,7 en utilisant/modifiant les fonctions précédentes.

  5- Déterminer le premier jour au bout duquel M Circonspect versera plus de 125000 €.

  6- Déterminer le premier jour au bout duquel M Malin versera plus de 180000 €.

  7- Déterminer la somme versée en tout par M Malin le 15 ème jour.

In [ ]:
# Effectuer les saisies nécessaires

8- Expliquer ce que renverra la fonction ci-dessous, appelée avec les arguments C ou M.

In [7]:
def val(Pers):
    L=[]
    for n in range(31):
        L.append(Pers(n))
    return L
In [ ]:
# Tester la fonction val avec C puis M comme argument

9- Ecrire une fonction qui reçoit une liste de valeurs et renvoie la somme de ces valeurs. Calculer la somme totale versée par M Malin.

In [ ]:
## Ecrire la fonction
In [ ]:
# Tester la fonction

(C) Copyright Franck CHEVRIER 2019-2020 http://www.python-lycee.com/

In [ ]: