Variable n'est pas réincrémenté dans une fonction
BigDeal589
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai codé une certaine fonction qui calcule un pH d'une dosage PH-métrique. Dans le module que j'ai écrit pour avoir ma liste de mesures de PH, le vb que je définis n'est pas incrémenté dans la fonction question10 et j'ai "name 'vb' is not defined". J'aimerais connaître ce qui ne fonctionne pas.
Respectueusement,
Nicolas
va1=0.01 #cm**3
va2=0.08 #=va'
ca=0.1 #mol.L**-1
cb=0.10
pKa=4.7 #à 25°C
Ka=10**-4.7
Ke=10**-14
pKe=14 #25°C
global vb
def question10(h):
A=(ca*va1)/(va2+vb)
B=1/(1+h/Ka)
C=Ke/h
D=-(h+(cb*vb)/(va2+vb))
return A*B+C+D
tab_vb=np.arange(0.001E-3, 20E-3, (0.1E-3)/5)
l=len(tab_vb)
PH=[]
for i in range(l):
vb=tab_vb[i]
sol=root(question10,1E-13)
ph=-np.log10(sol.x))
PH.append(ph)
plt.plot(tab_vb, PH)
plt.show()
J'ai codé une certaine fonction qui calcule un pH d'une dosage PH-métrique. Dans le module que j'ai écrit pour avoir ma liste de mesures de PH, le vb que je définis n'est pas incrémenté dans la fonction question10 et j'ai "name 'vb' is not defined". J'aimerais connaître ce qui ne fonctionne pas.
Respectueusement,
Nicolas
va1=0.01 #cm**3
va2=0.08 #=va'
ca=0.1 #mol.L**-1
cb=0.10
pKa=4.7 #à 25°C
Ka=10**-4.7
Ke=10**-14
pKe=14 #25°C
global vb
def question10(h):
A=(ca*va1)/(va2+vb)
B=1/(1+h/Ka)
C=Ke/h
D=-(h+(cb*vb)/(va2+vb))
return A*B+C+D
tab_vb=np.arange(0.001E-3, 20E-3, (0.1E-3)/5)
l=len(tab_vb)
PH=[]
for i in range(l):
vb=tab_vb[i]
sol=root(question10,1E-13)
ph=-np.log10(sol.x))
PH.append(ph)
plt.plot(tab_vb, PH)
plt.show()
A voir également:
- Variable n'est pas réincrémenté dans une fonction
- Fonction si ou - Guide
- Fonction remplacer dans word - Guide
- Fonction trier excel - Guide
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
1 réponse
yg_be
Messages postés
23437
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 587
bonjour,
sans les balises de code, ton code est un peu obscur.
d'autant plus que tu ne nous dis pas à quelle ligne tu as le message d'erreur.
je me demande, en tous cas, à quoi sert le
sans les balises de code, ton code est un peu obscur.
d'autant plus que tu ne nous dis pas à quelle ligne tu as le message d'erreur.
je me demande, en tous cas, à quoi sert le
global, vu où tu l'as mis.
yg_be
Messages postés
23437
Date d'inscription
Statut
Contributeur
Dernière intervention
1 587
il me semble que tu ne nous montres qu'une partie de ton code, ne manque-til pas, au minimum, des instructions ?