def configuration(Z) : element=['H','He','Li','Be','B','C','N','O','F','Ne','Na','Mg','Al','Si','P','S','Cl','Ar','K','Ca','Sc','Ti','V','Cr','Mn','Fe','Co','Ni','Cu','Zn','Ga','Ge','As','Se','Br','Kr','Rb','Sr','Y','Zr','Nb','Mo','Tc','Ru','Rh','Pd','Ag','Cd','In','Sn','Sb','Te','I','Xe','Cs','Ba','La','Ce','Pr','nd','Pm','Sm','Eu','Gd','Tb','Dy','Ho','Er','Tm','Yb','Lu','Hf','Ta','W','Re','Os','Ir','Pt','Au','Hg','Tl','Pb','Bi','Po','At','Rn','Fr','Ra','Ac','Th','Pa','U','Np','Pu','Am','Cm','Bk','Cf','Es','Fm','Md','No','Lr','Rf','Db','Sg','Bh','Hs','Mt','Ds','Rg','Cn','Nh','Fl','Mc','Lv','Ts','Og'] nom=['hydrogène','hélium','lithium','beryllium','bore','carbone','azote','oxygène','fluor','néon','sodium','magnésium','aluminium','silicium','phosphore','soufre','chlore','argon','potassium','calcium','scandium','titane','vanadium','chrome','manganèse','fer','coball','nickel','cuivre','zinc','gallium','germanium','arsenic','sélénium','brome','krypton','rubidium','strontium','yttrium','zirconium','niobium','molybdène','technétium','ruthénium','rhodium','palladium','argent','cadmium','indium','étain','antimoine','tellure','iode','xénon','césium','baryum','lanthane','cérium','praséodyme','néodyme','prométhium','samarium','europium','gadolinium','terbium','dysprosium','holmium','erbium','thulium','ytterbium','lutécium','hafnium','tantale','tungstène','rhénium','osmium','iridium','platine','or','mercure','thallium','plomb','bismuth','polonium','astate','radon','francium','radium','actinium','thorium','protactinium','uranium','neptunium','plutonium','américium','curium','berkelium','californium','einsteinium','fermium','mendélevium','nobélium','lawrencium','rutherfordium','dubnium','seaborgium','bohrium','hassium','meitnérium','darmstadtium','roentgerium','copernicium','nihonium','flérovium','moscovium','livermorium','tenesse','oganesson'] massemolaire=[1.0,4.0,6.9,9.0,10.8,12,14,16,19,20.2,23,24.3,27,28.1,31,32.1,35.5,39.9,39.1,40.1,45,47.9,50.9,52,54.9,55.8,58.9,58.7,63.5,65.4,69.7,72.6,74.9,79,79.9,83.8,85.8,87.6,88.9,91.2,92.9,95.9,99,101.1,102.9,106.4,107.9,112.4,114.8,118.7,121.8,127.6,126.9,131.3,132.9,137.3,138.9,140.1,140.9,144.2,145,150.4,152,157.3,158.9,162.5,164.9,167.3,168.9,173,175,178.5,180.9,183.9,186.2,190.2,192.2,195.1,197,200.6,204.4,207.2,209,210,210,222,223,226.1,227,232,231,238,237,244,243,247,247,251,252,257,258,259,266,267,268,269,270,277,278,281,282,285,286,289,289,293,294,294] resultat=element[Z-1]+" : " K=0 L=0 M=0 N=0 O=0 P=0 Q=0 s1=0 s2=0 p2=0 s3=0 p3=0 d3=0 s4=0 p4=0 d4=0 f4=0 s5=0 p5=0 d5=0 f5=0 s6=0 p6=0 d6=0 f6=0 s7=0 p7=0 c=['1s','2s','2p','3s','3p','4s','3d','4p','5s','4d','5p','6s','5d','4f','5d','6p','7s','6d','5f','6d','7p'] e=[2,2,6,2,6,2,10,6,2,10,6,2,1,14,9,6,2,1,14,9,6] position = 0 ZZ=Z while ZZ>0 : nb=min(ZZ,e[position]) resultat = resultat + c[position] + str(nb) + " " if c[position]=='1s' : K=K+nb elif c[position]=='2s' or c[position]=='2p' : L=L+nb elif c[position]=='3s' or c[position]=='3p' or c[position]=='3d': M=M+nb elif c[position]=='4s' or c[position]=='4p' or c[position]=='4d' or c[position]=='4f': N=N+nb elif c[position]=='5s' or c[position]=='5p' or c[position]=='5d' or c[position]=='5f': O=O+nb elif c[position]=='6s' or c[position]=='6p' or c[position]=='6d' or c[position]=='6f': P=P+nb elif c[position]=='7s' or c[position]=='7p' or c[position]=='7d' or c[position]=='7f': Q=Q+nb if c[position]=='1s' : s1=s1+nb elif c[position]=='2s': s2=s2+nb elif c[position]=='2p': p2=p2+nb elif c[position]=='3s': s3=s3+nb elif c[position]=='3p': p3=p3+nb elif c[position]=='3d': d3=d3+nb elif c[position]=='4s': s4=s4+nb elif c[position]=='4p': p4=p4+nb elif c[position]=='4d': d4=d4+nb elif c[position]=='4f': f4=f4+nb elif c[position]=='5s': s5=s5+nb elif c[position]=='5p': p5=p5+nb elif c[position]=='5d': d5=d5+nb elif c[position]=='5f': f5=f5+nb elif c[position]=='6s': s6=s6+nb elif c[position]=='6p': p6=p6+nb elif c[position]=='6d': d6=d6+nb elif c[position]=='7s': s7=s7+nb elif c[position]=='7p': p7=p7+nb ZZ=ZZ-nb position=position+1 couche=['K','L','M','N','O','P','Q'] structure=[K,L,M,N,O,P,Q] if Z<=71 : souscouche=['1s','2s','2p','3s','3p','4s','3d','4p','5s','4d','5p','6s','5d','4f'] structuresouscouche=[s1,s2,p2,s3,p3,s4,d3,p4,s5,d4,p5,s6,d5,f4] elif Z>=72 and Z<=103 : souscouche=['1s','2s','2p','3s','3p','4s','3d','4p','5s','4d','5p','6s','4f','5d','6p','7s','6d','5f'] structuresouscouche=[s1,s2,p2,s3,p3,s4,d3,p4,s5,d4,p5,s6,f4,d5,p6,s7,d6,f5] elif Z>103 : souscouche=['1s','2s','2p','3s','3p','4s','3d','4p','5s','4d','5p','6s','4f','5d','6p','7s','5f','6d','7p'] structuresouscouche=[s1,s2,p2,s3,p3,s4,d3,p4,s5,d4,p5,s6,f4,d5,p6,s7,f5,d6,p7] n=0 strucsc=element[Z-1]+" : " struc=element[Z-1]+" : " for n in range(len(souscouche)) : if structuresouscouche[n]!=0: strucsc=strucsc+souscouche[n]+str(structuresouscouche[n])+" " n=n+1 for n in range(len(couche)) : if structure[n]!=0: struc=struc+'('+couche[n]+')'+str(structure[n]) n=n+1 print(nom[Z-1]) print('M('+element[Z-1]+') = '+str(massemolaire[Z-1])+' g/mol') print(strucsc) print(struc) Z=int(input('Numéro atomique Z = ? (Z est un nombre entier et pour arrêter entrer Z inférieur ou égal à 0 ou Z supérieur à 118) : ')) while Z>0 and Z<=118 : configuration(Z) Z=int(input('Z = ? (pour arrêter entrer Z inférieur ou égal à 0 ou Z supérieur à 118) : '))