tu as vu, du coup, l’oubli de l’utilisation de l’ « ind », dans ton precedent code, l’as-tu deja modifie ?
Je suis d’accord avec la boucle while, compte tenu de l’enonce, mais tu ne sembles pas initialiser \ell, avec un nombre, ce qui ne plaira pas trop a k, ni a ton « n+l<8 ».
(si tu veux effectivement faire ca, il faut faire un peu de travail en amont, en definissant une classe d’objets)
Tu as aussi quelques inconsistances sur le e de symbole, pour ta liste symbol(e)_l.
Ca, c’etait pour la forme.
Pour le fond, je ne comprends pas trop ce que tu fais dans ton if.
Tu dis, si ind<k, i.e, le nombre quantique secondaire est plus petit que k (sachant que k=n+l, c’est bizarre), alors n=k ? Ca n’est pas ce que dit le principe de l’Aufbau.
Tu dois ajouter petit a petit les orbitales par n+l croissants, et augmenter petit a petit les valeurs de l, et n, en gardant en tete leurs encadrements.
Donc, tu gardes
while n+l<8:
en partant du bas si tu preferes, donc n=1, l=0 (attention, n=0 n’existe pas !)
Et tu print petit a petit, le cas
n+l=1, (1,0),
n+l=2, (2,0),
n+l=3, (2,1), (3,0),
n+l=4, (3,1), (4,0),
n+l=5, (3,2), (4,1), (5,0)
et ainsi de suite.
C’est a dire, que tu print, pour une valeur de n donnee, la plus haute valeur de l acceptable et qu’ensuite tu augmentes n, tu regardes si tu as un (ou plus) l qui correspond, si oui, c’est pareil qu’avant, sinon tu repasses une nouvelle fois dans la boucle. Et, au lieu d’afficher la valeur de l, ici le second chiffre dans les couples, tu affiches l’element qui porte ce numero dans ta liste symbole_l.
(PS: c’est aussi faisable tres proprement dans l’autre sens, en faisant des output.append() et en diminuant les valeurs de n+l. )