Outils pour utilisateurs

Outils du site


teaching:progappchim:tableau_periodique_2013

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

teaching:progappchim:tableau_periodique_2013 [2013/11/28 08:23] (Version actuelle)
villersd créée
Ligne 1: Ligne 1:
 +====== Tableau périodique ======
 +Tableau avec éléments cliquables pour obtenir les information. Nécessite {{:​teaching:​progappchim:​elements-data.csv|ce fichier de données}}.
  
 +<sxh python; title : tableau_periodique.py>​
 +#​!/​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
 +</​sxh>​
 +
 +===== Références =====
 +  * ...
teaching/progappchim/tableau_periodique_2013.txt · Dernière modification: 2013/11/28 08:23 par villersd