Variable n'est pas réincrémenté dans une fonction

Fermé
BigDeal589 - 6 mai 2021 à 16:18
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 6 mai 2021 à 16:35
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()

1 réponse

yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
6 mai 2021 à 16:28
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
global
, vu où tu l'as mis.
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
6 mai 2021 à 16:35
il me semble que tu ne nous montres qu'une partie de ton code, ne manque-til pas, au minimum, des instructions
import
?
0