Bonjour, pour mon cours de programmation appliqué à la chimie je dois réaliser un programme qui aie un lien avec celle-ci. J'ai donc choisis avec un amis de réaliser un tableau périodique qui puisse nous donner, en cliquant sur l'élément, les différents mode de désintégration pour les isotopes les plus utilisés. On a déjà eu du mal à trouver des sources utilisables mais après quelques heures on a enfin trouvé ce site: http://www.nucleide.org/DDEP_WG/DDEPdata.htm qui est assez complet. Notre but est tout d'abord de créer un programme qui puisse récupérer les information en txt sur cette pages pour chaque éléments. Quand on ouvre les fichiers txt on remarque que les url des différents éléments sont similaires :
* pour l' actinium 225 http://www.nucleide.org/DDEP_WG/Nucl...c-225.lara.txt ==> ce qui est particulier http://www.nucleide.org/DDEP_WG/Nucl...C-225.lara.txt ce qui est en gras et c'est le même à chaque fois
*pour l'actinium 227 http://www.nucleide.org/DDEP_WG/Nucl...c-227.lara.txt
* pour l'argent 108 http://www.nucleide.org/DDEP_WG/Nucl...g-108.lara.txt
on a réussis à exploiter la liste (fichier: Gedit) qu'on à créée et qui ce présente comme suit :
Ac-225
Ac-227
Ac-228
Ag-108
Ag-108m
Ag-110
Ag-110m
via le code qu'on à écrit :
avec le fichier que l'ion trouve sur http://dvillers.umons.ac.be/wiki/tea...eriodique_2013Code:# -*- coding: utf-8 -*- # lesture de fichier # fichier d'entrée ranu =[] with open("liste_radionucleide.txt", "rb") as fi: l = fi.readline().rstrip() ranu.append(l) while l: l = fi.readline().rstrip() ranu.append(l) print ranu ensuite on dois le remettre dans notre boucle qui est : import urllib #a='http://www.nucleide.org/DDEP_WG/Nuclides/Pa-234m.lara.txt' atomes = ['Ac-225','Pa-234m'] base='http://www.nucleide.org/DDEP_WG/Nuclides/' for atome in atomes: suf = '.lara.txt' a = base + atome + suf page=urllib.urlopen(a) strpage=page.read() print strpage on dois donc coupler ces deux codes pour sortir les infos une par une et pour pouvoir les exploiter MAIS COMMENT? dans ce code : (tableau périodique) #!/usr/bin/env python # -*- coding: utf-8 -*- # version un peu aménagée du travail de TB et SD, ba2 chimie 2012-2013 def elem(x): # print type(x),x # pour montrer que x est une chaîne de caractères element=Tk() element.title("Propriété du"+ x ) elembox=Listbox(element,height=32,width=40,fg="#070942") elembox.pack() for item in table[int(x)]: elembox.insert(END,item) quitter = Button(element,text='Quitter',command=element.destroy) quitter.pack(side=BOTTOM) from Tkinter import* import csv tableau=open("elements-data.csv","rb") reader = csv.reader(tableau,delimiter=";") table=[] # initialisation d'une liste qui contiendra les lignes à écrire for row in reader: # on parcourt les lignes successives du fichier d'entrée table.append(row) jack=dict() jack["Autres éléments non métalliques"]="yellow" jack["Métaux alcalins"]="green" jack["Métaux alcalino-terreux"]="orange" jack["Métaux de transition"]="pink" jack["Autres métaux"]="purple" jack["Halogènes"]="blue" jack["Gaz rares"]="red" jack["Lanthanides"]="brown" jack["Actinides"]="white" fen1=Tk() fen1.title("Tableau périodique des éléments") # défini le nom de la fenêtre for item in table[1:]: bou=Button(fen1,text=item[0],command=lambda x=item[4] :elem(x),height=3,width=5,bg=jack[item[31]] ) bou.grid(row=item[29],column=item[30]) fen2=Tk() fen2.title("Tableau des types de données") datatypebox=Listbox(fen2,height=32,width=40,fg="#070942") datatypebox.pack() for item in table[0]: datatypebox.insert(END,item) mainloop() fen2 fen1
on doit donc modifier le fichier de donné qui nous ai fournit MAIS COMMENT ?
Merci et bonne journée
-----