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.


Révision précédente
teaching:progappchim:tableau_periodique_2013 [2020/04/14 12:03] (Version actuelle) villersd
Ligne 1: Ligne 1:
 +====== Tableau périodique ======
 +Tableau avec éléments cliquables pour obtenir les information. Nécessite {{:teaching:progappchim:elements-data3.csv|ce fichier de données}}.
  
 +<code python : tableau_periodique_cliquable.py>
 +#!/usr/bin/env python
 +# -*- coding: utf-8 -*-
 +# version un peu aménagée du travail de TD 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-data3.csv","r")
 +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
 +</code>
 +
 +===== Références =====
 +  * ...
  • teaching/progappchim/tableau_periodique_2013.txt
  • Dernière modification : 2020/04/14 12:03
  • de villersd