bonjour tout le monde et bonne annee 2010!!!

voila pour moi lannee ,elle commence ma je suis en plein examens.j'ai un petit soucis au niveau d'un exo en python si quelqu'un pourrait m donner un coup de main ce serait sympa.c'est les annales de lannee derniere et je narrive pas vraiment a voir comment faire l'exo.je suis en premiere annee et j'ai vraiment du mal avec l'info.

VOICI L'ENONCE :

Ecrire un programme opmath qui permet de réaliser diverses opérations de traitement sur une fonction mathématique dont l'expression f(x) est entrée par l'utilisateur. le programme doit pouvoir correctement gérer un nombre variable d'arguments pour les différentes opérations. Voici les opérations qui doivent être réalisables :

* def expression : définir expression comme la fonction mathématique à utiliser pour les opérations suivantes (cf. exemple ci-dessous). La même fonction mathématique sera utilisée tant que l'utilisateur n'aura pas défini une nouvelle fonction avec la commande def
* val x : évaluer la fonction courante f(x) pour la valeur x
* min xmin xmax : déterminer la valeur x qui fournit la valeur minimale de la fonction courante f(x) sur l'intervalle [xmin, xmax]
* max xmin xmax : déterminer la valeur x qui fournit la valeur maximale de la fonction courante f(x) sur l'intervalle [xmin, xmax]
* root xmin xmax : déterminer toutes les racines de la fonction courante f(x) sur l'intervalle [xmin, xmax]. Pour cela, le plus simple est d'utiliser la technique de la dichotomie jusqu'à obtenir une précision donnée (généralement 10e-6 est largement suffisant)
* area xmin xmax : déterminer l'aire comprise sous la fonction courante f(x) pour l'intervalle [xmin, xmax]. Pour cela, le plus simple est d'utiliser la méthode des trapèzes avec un pas d'échantillonnage donné (généralement, utiliser 10e6 échantillons sur l'intervalle est largement suffisant)


Exemple d'exécution :

============================== ============================== ====================
OPMATH : perform miscellaneous processing on a mathematical function
============================== ============================== ====================
Note : enter an empty line to stop the interaction loop
<> Enter command : def x*x - 1
f(x) = x*x - 1
<> Enter command : val 2.0
f(2.0) = 3.0
<> Enter command : min -2.0 3.0
min in [-2.0,3.0] : f(0.0) = -1.0
<> Enter command : max -2.0 3.0
max in [-2.0,3.0] : f(3.0) = 8.0
<> Enter command : root -2.0 3.0
root in [-2.0,3.0] : f(-1.0) = f(1.0) = 0.0
<> Enter command : area 0.0 3.0
area under [0.0,3.0] : 6.0
<> Enter command : def cos(x)
f(x) = cos(x)
<> Enter command :



moi ce que j'ai fait c'est


from math import sqrt


def main():
"""main program of the "stat" module"""
print """%s\n%s%s\n%s""" % ('='*80, __doc__, __usage__, '='*80)
while True:
line = raw_input("<> Enter command : " )
if line == '': break
cmd = line.split()
if len(cmd) < 2: continue
try :
cmd = "%s(%s)" % (cmd[0], [float(x) for x in cmd[1:]])
print "%s = %s" % (line, eval(cmd))
except NameError:
print "Error : invalid operator"
except ValueError:
print "Error : invalid input values"



Merci d'avance pour votre aide...bon weekend a tous