PYTHON.2 INFO FEUILLE n° 30 D'EX BTS1 février 2012
----------------------------------------------------------------------------------------------------------------------
COURS:
Thème:
• from math import exp, expm1
C' est un module qui permet de pouvoir de disposer de la
fonction exp.
Ainsi exp( 1 ) donne une valeur approchée de e.
• import cmath
C'est un module qui permet certaines expressions de maths.
• IMPORTANT : Astuce pour obtenir l'écriture décimale
d'un quotient a / b en Python.2.5 ou 2.5
on écrit a / (b*1.0)
• Réaliser une base de données
• Encadrer une somme.
------------------------------------------------------------------------------------------
EXERCICE 1
Construire pour un club de loisirs un script contenant une liste
( base de données) formée de quatre listes comportant chacune
le nom, la date de naissance, à jour ou non de cotisation, la profession,
le centre d'intérêt, le moyen de transport utilisé.
L'administrareur du club devra pouvoir consulter la liste ( base de données)
en saississant un nom.
Si le nom figure bien dans la liste il devra voir s'afficher les informations sur
le membre du club concerné . Dans le cas contraire devra s'afficher
un message indiquant la non appartenance au club.
----------------------------------------------------------------------------------------------------
REPONSE:
from random import*
def base():
B=[ ['Elodie','Naissance le 10-02-95','Cotisation payée','Aime le cinoche et la peinture','Utilise le bus'],['Roger','Naissance le 1-06-93','Cotisation payée','Aime le foot et les voyages','Utilise une voiture'],['Jean','Naissance le 07-08-91','Cotisation non payée','Aime la natation et et le foot','Utilise la marche'],['Odile','Naissance le 25-05-99','Cotisation non payée','Aime la lecture','Utilise le métro'] ]
nom=input("Quel Nom voulez-vous consulter dans le fichier? ")
A=[]
for k in range(3):
A=A+[B[k][0]]
if nom==B[k][0]:
print "OUI",nom,"est bien un membre de notre club. "
for line in B[k]:
print line
if (nom in A)==False:
print " Non membre du club"
On obtient:
>>> base()
Quel Nom voulez-vous consulter dans le fichier? 'Elodie'
OUI Elodie est bien un membre de notre club.
Elodie
Naissance le 10-02-95
Cotisation payée
Aime le cinoche et la peinture
Utilise le bus
>>>
ou encore
>>> base()
Quel Nom voulez-vous consulter dans le fichier? 'Carl'
Non membre du club
----------------------------------------------------------------------------------------
EXERCICE 2
Soit n un entier naturel non nul.
On considère la fonction:
Soit la somme
Soit K un réel tel que :
Sn - 1 / n ≤ K ≤ Sn - 1 / ( n e )
Donner un algorithme qui quand on saisit l'entier n affiche l' encadrement de K
et précise l'amplitude de l'encadrement..
----------------------------------------------------------------------------------------------------------------------------------------
REPONSE:
On peut considérer:
from math import exp, expm1
def encadrem():
n=input("Donner un entier naturel non nul n: n = ")
S=0
for k in range(0,n+1):
S=S+(1/(n*1.0))*exp(-(( k/(n*1.0))**2))
v=S-1/(n*1.0)
w=S-1/((n*1.0)*exp(1))
print v,"<","K","<",w
amplitude=(1/(n*1.0))*(1-1/exp(1))
print " L'amplitude de l'encadrement est: ",amplitude
On obtient par exemple:
>>> encadrement()
Donner un entier naturel non nul n: n = 2
0.573340112121 < K < 0.889400391536
L'amplitude de l'encadrement est: 0.316060279414
>>>
--------------------------------------------------------------------------------------------------------------------------------------
EXERCICE 3 ARITHMETIQUE
CRITERE DE PRIMALITE
Soit un entier n supérieur ou égal à 2.
• Si n est 2 , 3 , 5 ou 7 alors n est un nombre premier.
• Si n est un entier autre que 2 , 3 , 5 ou 7 et que n n'est divisible par
aucun nombre premier p tels que p ≤ √n alors n est premier.
Donner un script qui saisit un entier naturel n entre 0 et 100
puis qui indique si cet entier n est ou n'est pas premier.
--------------------------------------------------------------------------------------------------------------------
REPONSE:
On peut considérer:
from random import*
def nbpr():
n=input(" Donner un entier inférieur ou égal à 100: n = ")
L=[2,3,5,7]
W=[]
if n in L:
print n," est bien un nombre premier"
elif n==0 or n==1:
print n," n'est pas est un nombre premier"
else:
for i in range(0,3):
W.append(n%L[i])
if 0 in W:
print n," n'est pas un nombre premier"
else:
print n," est bien un nombre premier"
On obtient par exemple:
>>> nbpr()
Donner un entier inférieur ou égal à 100: n = 0
0 n'est pas est un nombre premier
ou encore
>>> nbpr()
Donner un entier inférieur ou égal à 100: n = 73
73 est bien un nombre premier
ou encore
>>> nbpr()
Donner un entier inférieur ou égal à 100: n = 7
7 est bien un nombre premier
>>>
--------------------------------------------------------------------------------------
EXERCICE 4
Faire un script qui saisit un entier naturel non nul n puis
donne la liste des n premiers nombres premiers.
------------------------------------------------------------------------------------------