Problème programmation python

Signaler
-
NHenry
Messages postés
14600
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 décembre 2019
-
Bonjour, je dois rendre un programme de maths basé sur la dichotomie (Le but étant de trouver une valeur approchée d'une solution f(x)=0, avec des fonctions n'ayant pas de valeurs exactes de la racine. Le principe de la dichotomie se base sur le calcul de l'intervalle de la solution, plus l'intervalle est petit, plus la valeur approchée de la solution est précise.
J'ai donc un problème, mon programme me paraît en effet bon, cependant celui-ci ne fonctionne pas et m'indique une erreur du type: TypeError: unsupported operand type(s) for -: 'str' and 'str'
Je vous met ci-dessous mon programme effectué, toute aide me serait précieuse merci.


#définitions des variables
a = float
b = float
c = float
p = float


#Saisie de programme
p = input("Entrez la précision voulue, p= ")
a = input("Entrez la borne a, a= ")
b = input("Entrez la borne b, b= ")
f = input ("Entrer la fonction utilisée, f(x)= ")

def f(x):
    return f

while (b-a)>p:      
    c = a+b/2      
    if f(a)*f(c)<0:   
        b = c
    else:
        a = c
    

print("Une racine entre" ,a, "et" ,b)



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

3 réponses

Messages postés
9112
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
13 décembre 2019
468
bonjour,
merci d'utiliser les balises de code pour publier du code.
quand tu as un message d'erreur, il est important d'indiquer à quelle ligne il se rapporte.
le message d'erreur t'indique que tu ne peux pas soustraire b de a, a et b étant des chaines de caractères.
je crois deviner ce que tu veux faire avec f, et cela ne va pas fonctionner.
NHenry
Messages postés
14600
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 décembre 2019
190
J'ai ajouté la couleur.