Problème programmation python
Mar02ius
-
0-Kzami Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
0-Kzami Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
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.
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. |
A voir également:
- Problème programmation python
- Citizen code python avis - Accueil - Outils
- Application de programmation - Guide
- Python pix ✓ - Forum Python
- Ce programme est écrit en python compléter le ✓ - Forum Python
- \R python ✓ - Forum Python
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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.
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
15219
Date d'inscription
Statut
Modérateur
Dernière intervention
365
J'ai ajouté la couleur.
Bonjour,
Lorsque tu demande la valeur des variables, elles restent sous forme de chaîne de caractères. On ne peut pas faire d'opérations entre chaînes de caractères, il faut donc rajouter des int() autour des inputs() :
Lorsque tu demande la valeur des variables, elles restent sous forme de chaîne de caractères. On ne peut pas faire d'opérations entre chaînes de caractères, il faut donc rajouter des int() autour des inputs() :
#définitions des variables a = float b = float c = float p = float #Saisie de programme p = int(input("Entrez la précision voulue, p= ")) a = int(input("Entrez la borne a, a= ")) b = int(input("Entrez la borne b, b= ")) f = int(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)