Problème programmation python
Mar02ius
-
0-Kzami Messages postés 15 Statut Membre -
0-Kzami Messages postés 15 Statut Membre -
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 - Accueil - Outils
- Application de programmation - Guide
- Programmation aria soho ✓ - Forum LG
- Ce programme est écrit en python il construit un mot secret ✓ - Forum Python
- Citizen code python solution - Forum Python
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 586
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
15483
Date d'inscription
Statut
Modérateur
Dernière intervention
367
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)