Programme dichotomie qui ne marche pas

Plantagenest -  
 Utilisateur anonyme -
Bonjour,

je n'arrive pas à faire marcher mon programme de dichotomie. Rien ne se passe.

from math import *
a=0
b=1
def f(x):
return x**3+x-1
def dicho(a,b) :
n=O
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

7 réponses

Plantagenest
 
les espaces sont présent dans mon programme
0
Utilisateur anonyme
 
Bonjour
En Python, l’indentation est primordiale, or par défaut le site ne la conserve pas.
Pour la conserver il faut utiliser les balises de code. Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
On pourra commencer à essayer de t’aider quand tu auras reposté correctement ton code.
0
Plantagenest
 
from math import *
a=0
b=1
def f(x):
    return x**3+x-1
def dicho(a,b) :
    n=O
    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    
0
Plantagenest
 
merci
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
quel est le soucis avec ce programme?
0
Plantagenest > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
quand je l'exécute le programme n'affiche rien
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Plantagenest
 
que souhaites-tu afficher?
0
Plantagenest > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
les valeurs de a,b,n
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Plantagenest
 
quelle instruction utilises-tu pour afficher ces valeurs?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Plantagenest
 
avec (return a,b,n) à la fin du programme
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
est-ce ton premier exercice en python?
0
Plantagenest > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Oui je connais pas grand chose en python, le programme au dessus est exactement (j'ai vérifié) le programme du manuel, mais il n'affiche rien quand je l'exécute. Puisque je n'arrive pas à trouver l'erreur je fais appel à votre gentillesse.
0
Plantagenest > Plantagenest
 
c'est un programme de dichotomie
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Plantagenest
 
si tu veux progresser, il est préférable de commencer par des exercices plus simples.
0
Plantagenest > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
d'accord merci
0
Utilisateur anonyme
 
le programme au dessus est exactement (j'ai vérifié) le programme du manuel

Il y manque pourtant un petit quelque chose

Oui je connais pas grand chose en python

Ok alors essayons de décortiquer.

A ton avis, à quoi sert
def f(x):
    return x**3+x-1

?
0
georges97 Messages postés 13774 Date d'inscription   Statut Contributeur Dernière intervention   2 650
 
Bonsoir à tous

Une correction préalable à faire en ligne 7, n = 0 et non n = o (pour Plantagenest, zéro et non la lettre o)
0
Plantagenest
 
definir la fonction f
0
Plantagenest > georges97 Messages postés 13774 Date d'inscription   Statut Contributeur Dernière intervention  
 
c'est bien un 0 dans mon programme, ca doit être une erreur quand j'ai collé sur le site
0
Utilisateur anonyme > Plantagenest
 
definir la fonction f

c'est un peu succinct comme réponse mais je vais parier que tu as compris.

A quel endroit(s) du programme cette fonction est elle utilisée.

Salut George, bien vu
0
Plantagenest > Utilisateur anonyme
 
à la ligne 10 pour calculer f(a)*f(c)
0
Plantagenest
 
de la ligne 10 à 14
0