python et dichotomie
python et dichotomie
Bonjour,
j'essaie d'exécuter un programme Python, mais à chaque fois il n y a rien qui s'affiche (pas de message d'erreur, pas de résultats)..
pourriez-vous m'aider à trouver la raison? merci
voici mon programme:
def f(x):
return x**3+x-1
def dicho(a=0.5,b=0.75):
n=0
while b-a>=10**(-3):
c=(a+b)/2
if f(a)*f(c)<0:
b=c
else:
a=c
n=n+1
return a,b,n
j'essaie d'exécuter un programme Python, mais à chaque fois il n y a rien qui s'affiche (pas de message d'erreur, pas de résultats)..
pourriez-vous m'aider à trouver la raison? merci
voici mon programme:
def f(x):
return x**3+x-1
def dicho(a=0.5,b=0.75):
n=0
while b-a>=10**(-3):
c=(a+b)/2
if f(a)*f(c)<0:
b=c
else:
a=c
n=n+1
return a,b,n
-
- Messages : 10353
- Enregistré le : lun. 30 août 2010 11:15
Re: python et dichotomie
Bonjour,
ton programme est correct, et si on respecte les indentations, il doit avoir ce rendu dans ton éditeur :
Quand on l'exécute, il ne se passe rien et c'est normal puisque tu as défini une fonction qui est une sorte de boite qui enveloppe des instructions. Celles-ci ne s'exécuteront que si tu appelles ta fonction.
Dans la console, si tu appelles ta fonction avec les arguments associés à \(f\) :
Tu obtiendras bien une réponse :
Ce qui te donne bien un encadrement de la racine de \(f\) à \(10^{-3}\) près, ce qui a été obtenu au bout de 8 tours de boucle.
Est-ce plus clair ?
Bonne continuation
ton programme est correct, et si on respecte les indentations, il doit avoir ce rendu dans ton éditeur :
Code : Tout sélectionner
def f(x):
return x**3 + x - 1
def dicho(a=0.5,b=0.75):
n=0
while b-a >= 10**(-3):
c = (a+b) / 2
if f(a)*f(c) < 0:
b = c
else:
a = c
n = n + 1
return a,b,n
Dans la console, si tu appelles ta fonction avec les arguments associés à \(f\) :
Code : Tout sélectionner
dicho(0.5,0.75)
Code : Tout sélectionner
(0.681640625, 0.6826171875, 8)
Est-ce plus clair ?
Bonne continuation
Re: python et dichotomie
ah d'accord! mais, comment faire pour appeler cette fonction ? faire print ?
merci
merci
-
- Messages : 10353
- Enregistré le : lun. 30 août 2010 11:15
Re: python et dichotomie
Bonjour,
je crois y avoir répondu : tu te mets dans la console (le shell) et tu tapes :
Et l'interpréteur doit te renvoyer la réponse :
Dans mon environnement (spyder), cela donne :
Quel environnement utilises-tu ?
je crois y avoir répondu : tu te mets dans la console (le shell) et tu tapes :
Code : Tout sélectionner
>>> dicho(0.5,0.75)
Code : Tout sélectionner
(0.681640625, 0.6826171875, 8)