Lecture d'un fichier sur pyzo

Lecture d'un fichier sur pyzo - Python - Programmation

Marsh Posté le 09-06-2018 à 17:42:06    

Bonjour,  
 
j'ai écris le programme suivant:
 

Code :
  1. def tracerCv (Crd,Crg):
  2.         n=7.5
  3.         gamma=0.9135516725*math.pi/180
  4.         beta=0.9135516725*math.pi/180
  5.         Cv=np.zeros(55)
  6.         g =open("D:/DAE/valeur_alphag.txt" , "r" )
  7.         d =open("D:/DAE/valeur_alphad.txt", "r" )
  8.         for k in range (0,56):
  9.                 alphagg=g.readline()
  10.                 alphadd=d.readline()
  11.                 Cv[k]= n*((Crd*np.cos(gamma))/(l6*np.sin(alphadd-str(gamma)))+(Crg*np.cos(beta))/(l5*np.sin(alphagg-str(beta))))
  12.         g.close()
  13.         d.close()
  14.         return (Cv)
  15. Cv1=tracerCv(-30.629,-23.179)
  16. Cv2=tracerCv(-25.576,-18.596)
  17. Cv3=tracerCv(-19.686,-15.629)
  18. Cv4=tracerCv(-13.384,-10.667)
  19.      
  20. plt.plot(alphad,Cv1,"o" )
  21. plt.plot(alphad,Cv2,"o" )
  22. plt.plot(alphad,Cv3,"o" )
  23. plt.plot(alphad,Cv4,"o" )
  24. plt.xlabel("Alphad (en rad)" )
  25. plt.ylabel("Couple volant Cv (en N.mm)" )
  26. plt.legend()
  27. plt.show()


 
cependant pyzo m'affiche l'erreur suivante:
 
Traceback (most recent call last):
  File "D:\DAE\fermeture géométrique f(x)=0.py", line 53, in <module>
    Cv1=tracerCv(-30.629,-23.179)
  File "D:\DAE\fermeture géométrique f(x)=0.py", line 48, in tracerCv
    Cv[k]= n*((Crd*np.cos(gamma))/(l6*np.sin(alphadd-str(gamma)))+(Crg*np.cos(beta))/(l5*np.sin(alphagg-str(beta))))
TypeError: unsupported operand type(s) for -: 'str' and 'str'
 
je suppose que pyzo considère les valeurs flottantes qu'il lit comme une chaîne de caractère mais je ne sais pas comment convertir en float puique l'action float(...) ne fonctionne pas.
 
Merci d'avance de votre aide, bonne soirée.

Reply

Marsh Posté le 09-06-2018 à 17:42:06   

Reply

Marsh Posté le 14-06-2018 à 16:46:47    

coco695 a écrit :

je suppose que pyzo considère les valeurs flottantes qu'il lit comme une chaîne de caractère


Non, il considère les chaînes de caractère qu'il lit comme des chaînes de caractères, d'autant plus que tu convertis aussi la seconde opérande en chaîne.

coco695 a écrit :

mais je ne sais pas comment convertir en float puique l'action float(...) ne fonctionne pas.


Bah faut que tu comprennes pourquoi ça "ne fonctionne pas", ya pas de magie, et si ya pas de magie c'est que t'as de la merde en entrée ou que tu utilises mal fonction [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed