Bonjour,
Je voudrais créer un programme qui à partir d'un nom d'atome entrée par l’utilisateur, cherche ce nom dans un fichier texte et récupère des données sur cet atome pour les réutiliser dans un calcul et afficher le résultat. Il faudra donc qu'il scanne ligne à ligne le fichier bibliothèque jusqu’à trouver le bon atome.
Je suis grande débutante dans le monde de la programmation et de python.
voilà comment je voulais faire :
sauf qu'au moment d'utiliser la fonction split le programme me renvoie un message d'erreur :
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 from math import log, exp file = open("bib.txt", "w") file.write("Tr 12,32 3,016049268") x = int(input("nb delement")) t = input("cb dannée") Na = 6.022e+23 file2 = open("resultats.csv", "w") file2.write("A\n") i = 0 A = 0 while i < x: file = open('bib.txt', 'r') tmp1 = input("quel element") m1 = input("sa masse") while 1: test = file.split( ) if test == "": break tmp = test[i].split( ) if tmp[0] == tmp1: M1 = float(tmp[2]) n1 = m1 / M1 No1 = n1 * Na tdemi1 = float(tmp[1]) I1 = log(2) / tdemi1 A1 = I1 * No1 * exp(t * (-I1)) A = A + A1 file2.write(str(A1) + "\n") file.close() i = i + 1 print("A=", A, "Bq\n") file2.close()
Traceback (most recent call last):
File "C:/Users/Elise/PycharmProjects/desintegration1.0/prg2.py", line 19, in <module>
test = file.split( )
AttributeError: '_io.TextIOWrapper' object has no attribute 'split'
j'ai voulu utiliser la fonction readline à la place mais ça ne fonctionne pas non plus. Ou alors crée une bibliothèque sqlite mais je ne sais pas comment l'utiliser.
Voyez vous le problème ou avez vous une autre solution pour faire la même chose ?
Merci d'avance![]()
Partager