python 2 : boucles et listes
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

python 2 : boucles et listes



  1. #1
    verypette

    python 2 : boucles et listes


    ------

    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 :
    Code:
    # -*- 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
    avec le fichier que l'ion trouve sur http://dvillers.umons.ac.be/wiki/tea...eriodique_2013
    on doit donc modifier le fichier de donné qui nous ai fournit MAIS COMMENT ?

    Merci et bonne journée

    -----
    Dernière modification par Jack ; 22/04/2016 à 11h48. Motif: Ajout des balises code

  2. #2
    Jack
    Modérateur

    Re : python 2 : boucles et listes

    Pourriez-vous lire les consignes avant de poster SVP?

    Je pense en particulier à l'indentation, surtout en python
    Dernière modification par Jack ; 22/04/2016 à 11h50.

Discussions similaires

  1. en python le multi tache n'est pas possible alors pourquoi les threads existent sur python?
    Par docEmmettBrown dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 10/06/2015, 16h47
  2. listes chainées
    Par invite72fa7580 dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 15/12/2014, 22h35
  3. Python: liste de listes
    Par invitef6d4c773 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 14/09/2014, 11h59
  4. python : listes et chaînes
    Par invite05ccbb13 dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 09/09/2014, 23h10
  5. Familles et listes...
    Par inviteedb947f2 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 14/03/2007, 23h04