Il n'y a en fait rien à corriger - c'est le comportement prévu.
Considérez que votre ordinateur portable en veille consomme (chiffres fictifs) 10W d'énergie. Vous branchez un adaptateur électrique de 61 W, et il commence à charger la batterie à un taux allant jusqu'à 51W. Cela signifie que l'alimentation de l'adaptateur est utilisée pour alimenter l'ordinateur en premier lieu, et pour charger la batterie en second lieu.
Maintenant, vous exécutez un programme très gourmand en énergie sur votre ordinateur, et l'ordinateur commence à utiliser 65W d'énergie. Toute l'énergie de l'adaptateur est utilisée pour alimenter l'ordinateur, et la batterie se décharge aussi lentement. Cela signifie que l'état de l'écran passe de "en charge" à "non en charge".
Votre script Python fait très probablement différentes choses à différents moments - certaines qui demandent beaucoup de puissance et d'autres qui en demandent moins. Par conséquent, vous constaterez que, à certains moments, la batterie se charge, et à d'autres, elle ne se charge pas.