Configuration électronique chimie python

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. 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?
    

    1. -entier
      -entier
      -liste
      -entier?
  2. je ne comprends pas pourquoi changer l'ordre ne n et l change le message d'erreur
    1. 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


      1. 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?
        1. Ha tu l'as reposté pendant que je rédigeais mon message .
          Très bien, même erreur
        2. Dans mo programme n est u entier et l une liste donc c'est pour cela que ça ne marche pas!