Bonjour,
j'ai besoin d'imposer le nombre de digit derrière la virgule pour faire une recherche dans un fichier.
en fait, je cherche une valeur mesurée pour une fréquence donnée (tableau).
j'ai écrit ceci :
donc pour la 1ère valeur de gammeF soit 1500000000, j'obtiens valf =1.5, mais dans mon tableau j'ai : 1.500000000
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 fileS21 = tkFileDialog.askopenfilename(filetypes = [("Txt", "*.txt"),("Fichier Texte","*.txt")], title = 'Sélection du fichier des mesures du S21') Freq = [] ModS21 = [] for ligne in open(fileS21,'r'): tb = ligne.split('\t') Freq.append(tb[0]) ModS21.append(tb[3]) del Freq[0] print Freq del ModS21[0] print ModS21 gammeF =[1500000000, 4300000000] listeA = [3.034, 3.036, 3.039, 3.044] listeB = [7.004, 7.01, 7.009, 7.004] for f in gammeF : w = 2*pi*f #pulsation valf = f/1e9 print "valf = ", valf lignef = Freq.index(valf) print "numero ligne =", lignef
et au final j'obtiens l'erreur suivante :
comment dois-je faire pour résoudre mon pb ? est-ce que je dois transformer ma valeur obtenu en chaine de caractère et ensuite rechercher cette chaine dans mon tableau ?
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 C:\Python25\Programme>Integration_resistivite.py ['0.100000000', '0.200000000', '0.300000000', '0.400000000', '0.500000000', '0.6 00000000', '0.700000000', '0.800000000', '0.900000000', '1.000000000', '1.100000 000', '1.200000000', '1.300000000', '1.400000000', '1.500000000', '1.600000000', '1.700000000', '1.800000000', '1.900000000'] ['1.000248772348', '0.999530019625', '0.999166067351', '0.998686670313', '0.9992 99550984', '0.998267903740', '0.998400291998', '0.997993118794', '0.998283431448 ', '0.998069369609', '0.997635895324', '0.997327631253', '0.997367551644', '0.99 7374272975', '0.997299246981', '0.996844083881', '0.996869520487', '0.9970266746 40', '0.996721031386'] valf = 1.5 Traceback (most recent call last): File "C:\Python25\Programme\Integration_resistivite.py", line 40, in <module> lignef = Freq.index(valf) ValueError: list.index(x): x not in list C:\Python25\Programme>pause Appuyez sur une touche pour continuer...
je vous remercie par avance pour votre réponse et votre aide.
bien cordialement,
Patricia
Partager