Bonjour,
je suis autodidacte, depuis 1 semaine, en programmation Python. Je l'utilise pour des calculs.
mais je rencontre un bug, que j'arrive à contourner, mais je trouve cela assez bizzare.

ci dessous mon programme


from cmath import *
from mst.GUM.complex.gum import *
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
C = Context()
_J_ = C.constant(0+1j)
 
A = C.gaussian(1.52e-3,uAbsolute([0.02e-3,0.0])) # Petit diamètre
B = C.gaussian(3.50e-3,uAbsolute([0.02e-3,0.0])) # Grand diamètre
a = A/2 # Petit rayon
b = B/2 # Grand rayon
c = 299792458 # Célérité
µ = 4*pi*1e-7 # Perméabilité
E0 = 1/µ/c**2 # Permittivité dans le vide
E = 1.000649*E0 # Permittivité dans le matériau
rho = 22e-9 # Résistivité
 
r = b/a # Rapport des rayons
F1 = (r**2-1)/(2*log(r))
F2 = (r)*log(r)/(r+1)
F0 = F1-F2-0.5*(r+1)
L0 = µ*log(r)/2/pi # Inductance linéique sans perte
C0 = 2*pi*E/log(r) # Capacité linéique sans perte
 
startF = 18e9
stopF= 26.5e9
numberP = 21
 
print "Calcul des caractéristiques d'une ligne à air"
print "valeur de a = ", result(a)
print "valeur de b = ", result(b)
print "valeur de µ = ", result(µ)
print "valeur de E = ", result(E)
print "valeur de r = ", result(r)
print "C0 =", result(C0)
print "L0 =", result(L0)
 
gammeF = range(1,numberP,1)
for i in gammeF:
 
    print 'i=',i
    #f = 18e9
    f = startF + (i-1)*(stopF-startF)/(numberP-1)
    print 'f=',f
    w = 2*pi*f              #pulsation
    print 'w =',w
    k = w*sqrt(L0*C0)      #nombre d'onde angulaire
    print 'k =',value(k)
    d1 = 2*rho/w/µ
    print 'd1 =', d1
    from math import *
    d2 = sqrt(d1)
    print d2
    ds = sqrt(2*rho/w/µ)   #épaisseur de peau
mon problème vient de la 4ème ligne (en partant de la fin), en effet je suis obligée de réimporter mon module, pour que cela fonctionne. A quoi cela est dû ?

je vous remercie par avance de votre aide.

Patricia