Un capital C (en euros) est placé à intérêts composés pendant n années au taux de t % par an :
chaque année, on ajoute au capital l'intérêt produit par ce capital au taux de t%.
On suppose que C = 10 000 et t = 2. Calculer le capital obtenu au bout d'un an et au bout de deux ans.
Écrire une fonction nommée capital, de paramètres le capital C (en euros), le taux d'intérêt t(en %) et la durée n (en années),
qui renvoie le nouveau capital après une durée de n années.
A l'aide de cette fonction vérifier les résultats de la question 1.
Ecrire une autre fonction nommée interets, de paramètres le capital C (en euros), le taux d'intérêt t (en %)
et la durée n (en années), qui renvoie les intérêts reçus au cours des n années.
En utilisant la fonction interets calculer les intérêts d'un capital de 10 000
reçus au bout de 2 ans, 5 ans et 10 ans.
Les tarifs de la poste
Au bout d'un an, on a : \(C =10 000 + 0,02\times 10000 = 10200.\)
Au bout de deux ans, on a : \(C =10 200 + 0,02\times 10200 = 10404.\)
def capital (C,t,n) :
"""
fonction, de paramètres C (euros), t(%) et n(années),
qui renvoie le nouveau capital au bout de n années
"""
for k in range(1,n+1) :
C = C + t*C/100
return C
On retrouve le même résultat
def capital (C,t,n) :
"""
fonction, de paramètres C (euros), t(%) et n(années),
qui renvoie le nouveau capital au bout de n années
"""
for k in range(1,n+1) :
C = C + t*C/100
return C
def interets(C,t,n):
"""
fonction, de paramètres C (euros), t(%) et n(années),
qui renvoie les intérêts reçus au cours des n années
"""
return capital(C,t,n)-C
Écrire une fonction, de paramètres la nature de la lettre à poster et son poids, qui renvoie le tarif du timbre à poster sur cette lettre.
On trouve sur le site web de la Poste le tableau suivant (au 1er octobre 2011) :
Poids jusqu'à
Lettre verte
Lettre prioritaire
Eco poli
20 g
0,57 €
0,60 €
0,55 €
50 g
0,95 €
1,00 €
0,78 €
100 g
1,40 €
1,45 €
1,00 €
Les tarifs de la poste
def timbre(lettre,poids) :
"""
fonction, de paramètres lettre (verte,prioritaire ou eco poli)
et poids (≤20, entre 20 et 50 ou entre 50 et 100), qui renvoie le prix d'un timbre
"""
if lettre == "verte":
if poids ≤ 20 :
return "Vous allez payer 0.57 €"
elif poids ≤ 50 :
return "Vous allez payer 0.95 €"
elif poids ≤ 100:
return "Vous allez payer 1.40 €"
elif lettre == "prioritaire":
if poids ≤ 20:
return "Vous allez payer 0.60 €"
elif poids ≤ 50:
return "Vous allez payer 1.00 €"
elif poids ≤ 100:
return "Vous allez payer 1.45 €"
elif lettre == "ecopoli":
if poids ≤ 20:
return "Vous allez payer 0.55 €"
elif poids ≤ 50:
return "Vous allez payer 0.78 €"
elif poids ≤ 100:
return "Vous allez payer 1.00 €"
Année bissextile.
On rappelle que les années bissextiles sont les années divisibles par 4, à l'exception de
celles qui sont divisibles par 100 sans l'être par 400.
Par exemple, 2000 est
une année bissextile (2000 est divisible par 4. 2000 est divisible par 100 mais aussi par 400 : ne fait donc
pas partie des exceptions).
2012 est divisible par 4 (et pas par 100) : 2012 est bissextile.
1900 est divisible par 4, par 100 mais pas par 400. 1900 n'est pas bissextile.
Écrire une fonction :
Entrée : un entier naturel n
Sortie : l'année n est bissextile ou pas.
Une solution de l'exercice "Année bissextile".
def bissextile(n) :
if(n % 4 == 0 and n % 100 != 0) or (n % 400 == 0):
print("L'année {} est une année bissextille".format(n))
else :
print("L'année {} n'est pas une année bissextille".format(n))
bissextile(1900)
bissextile(2000)
bissextile(2002)
bissextile(2012)
Ce qui affiche :
L'année 1900 n'est pas une année bissextille
L'année 2000 est une année bissextille
L'année 2002 n'est pas une année bissextille
L'année 2012 est une année bissextille
Nombre Mystérieux.
on propose de jouer au Nombre Mystérieux :
La règle de ce jeu est très simple. L'ordinateur choisit une valeur entière comprise entre 1 et 100 au hasard.
Le joueur essaie de trouver cette valeur. A chaque essai, l'ordinateur affiche l’un de ces trois messages :
Bravo, vous avez gagné !
C’est plus …
C’est moins …
Écrire un programme qui simule ce jeu
Remarque
Pour crée un nombre entier aléatoire entre 1 et 100 on utilise le module random comme suit :
import random
def mysterieux() :
"""
Fonction qui permet de deviner un entier entre 1 et 100
donné aléatoirement par l'ordinateur
"""
mystere = random.randint(1,100)
trouve = True
k=''
while trouve :
nombre = int(input('Entrez un entier entre 1 et 100 : '))
if nombre == mystere :
trouve = False
elif nombre < mystere :
print("C'est plus grand")
else :
print("C'est plus petit")
print("Bravo, vous avez gagné !")
Deuxième solution
import random
def mysterieux() :
"""
Fonction qui permet de deviner un entier entre 1 et 100
donné aléatoirement par l'ordinateur
"""
mystere = random.randint(1,100)
trouve = True
k=''
while trouve :
nombre = int(input(k+'entrez un entier entre 1 et 100 : '))
chaine=str(nombre)
if nombre == mystere :
trouve = False
elif nombre < mystere :
k="C'est plus grand que "+chaine+", "
else :
k="C'est plus petit que "+chaine+", "
print("Bravo, vous avez gagné !")
Écrire une fonction en python permettant d'afficher cette suite d'entiers naturels.
Résolution de l'exercice "Suite de Fibonacci".
def fibo (n) :
ress=1 #résultat fibo(1)
ancien=1 #ancien résultat fibo(0)
c=1 # compte n
while c < n :
tempor = ress
ress = ress + ancien # Formule
ancien = tempor
c = c+1
return ress
#Programme principal
n = int(input("Saisir l'entier naturel n : "))
for i in range(0,n+1):
u = fibo(i)
print("le terme de la suite de fibonacci au rang {} est {}".format(i,u))
Javanais.
Les règles du javanais :
On ajoute 'av' après chaque consonne ou groupe de consonnes (comme par exemple ch, cl, ph, tr,…) d’un mot.
Si le mot commence par une voyelle, on ajoute av devant cette voyelle.
On ne rajoute jamais av après la consonne finale d’un mot.
Écrire une fonction qui prend en entrée un mot et donne en sortie sa version javanaise.
La syllabe qui vient parasiter le mot (en javanais classique : 'av') viendra également en paramètre de la fonction.
def javanais(mot, syll) :
## on passe le mot en minuscules.
motminus=mot.lower()
voyelles='aeiouy'
Voyelles='AEIOUY'
consonnes='bcdfghjklmnpqrstvwxz'
Consonnes='BCDFGHJKLMNPQRSTVWXZ'
motjav='' # contiendra la traduction javanaise.
## boucle pour ajouter syll derrière les groupes de consonnes
## sauf derrière la consonne éventuelle de fin de mot.
for j in range(len(motminus)-1) :
if (mot[j] in consonnes and motminus[j+1] not in consonnes) :
motjav+=motminus[j]+syll
else :
motjav+=motminus[j]
## On ajoute la dernière lettre du mot de départ au résultat.
motjav+=motminus[-1]
## On ajoute syll au début du mot résultat
## si mot commençait par une voyelle.
if motminus[0] in voyelles :
motjav=syll+motjav
## Raffinement pour le fun.
## si le mot commençait par une majuscule (nom propre...)
## le résultat commencera par une majuscule.
if mot[0] in Voyelles or mot[0] in Consonnes:
motjav=motjav[0].upper()+motjav[1:]
return motjav
print("javanais('Abraracourcix','av') : ", javanais('Abraracourcix','av'))
print("javanais('Abraracourcix','oz') : ", javanais('Abraracourcix','oz'))
print("javanais('pythonique','ail') : ", javanais('pythonique','ail'))