Configuration électronique chimie python

Bubu -  
 Utilisateur anonyme -
Bonjour,
je suis vraiment bloquée je dois réaliser un programme Python affichant les sous couches (n,l) jusqu'à n+l<8
d'après la loi de klechkowski, c'est-à-dire:
1s , 2s , 2p ,3s , 3p ,4s , 3d , 4p ,5s , 4d ,5p, 6s ,4f ,5d ,6p , 7s , 5f ,6d , 7p etc....

c'est-à-dire sans les lettres (1,0) (2,0) (2,1) (3,0) (3,1)(4,0) etc...
Mon programme n'aboutis à rien!

Programme:
n=1
ind=0
l=0
symbole_l='spdf'
l=symbole_l[0]
while n+l<8:
    ------for i in range(0,len(symbole_l)):
        ---------if n==n+l:
           -------- n=n+l
           --------- ind=l
           --------- print(n,l)
        --------else:
           ---------- n=n+1
           ----------- ind=l
           ----------- print(n,l)
print(n,symbole_l[l])


Configuration: Windows / Chrome 86.0.4240.193

8 réponses

  1. Utilisateur anonyme
     
    Bon maintenant que Chris a édité ton corrigé ton message

    On peut lire un peu mieux.
    Une fois copié collé ton code dans un éditeur en ligne et enlevé les -- en trop.

    J'ai une erreur à la ligne 7
    while n+l<8:


    Et cette erreur dit qu'on ne peut pas ajouter un entier et une string.

    Comprends tu d'où vient cette erreur?
    0
    1. Utilisateur anonyme
       
      Ha tu l'as reposté pendant que je rédigeais mon message .
      Très bien, même erreur
      0
    2. Bubu
       
      Dans mo programme n est u entier et l une liste donc c'est pour cela que ça ne marche pas!
      0
  2. Utilisateur anonyme
     
    Pour t'aider (peut-être)

    Si j'écris
    while n+l<8:

    l'erreur est
    TypeError: unsupported operand type(s) for +: 'int' and 'str'


    alors que si j'écris
    while l+n<8:

    l'erreur est

    TypeError: can only concatenate str (not "int") to str


    0
  3. Bubu
     
    je ne comprends pas pourquoi changer l'ordre ne n et l change le message d'erreur
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Utilisateur anonyme
     
    Nos message se sont encore croisés.

    Non, l n'est pas une liste.

    Regarde les commentaires
    n=1 #quel est le type de n ici?
    ind=0
    l=0 #quel est le type de l ici?
    symbole_l='spdf' #quel est le type de l ici?
    l=symbole_l[0] #quel est le type de l ici?
    

    0
    1. Bubu
       
      -entier
      -entier
      -liste
      -entier?
      0
  6. Utilisateur anonyme
     
    non pas liste et pas entier?
    0
  7. Bubu
     
    chaîne de caractère alors pour l (string)
    0