teaching:progappchim:tableau_periodique_2013

no way to compare when less than two revisions

Différences

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


Dernière révision
teaching:progappchim:tableau_periodique_2013 [2013/11/28 08:23] – créée villersd
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 : 2020/04/14 12:03
  • de villersd