Bonjour,
Je débute dans l'apprentissage de Python, j'apprends via un tutoriel en ce moment et bloque sur une boucle à réaliser pour un exercice très simple.
Je cherche à écrire un programme qui additionne des valeurs naturelles lues sur entrée et affiche le résultat.
La première donnée lue ne fait pas partie des valeurs à sommer. Elle détermine si la liste contient un nombre déterminé à l’avance de valeurs à lire ou non :
- si cette valeur est un nombre positif ou nul, elle donne le nombre de valeurs à lire et à sommer ;
- si elle est négative, cela signifie qu’elle est suivie d’une liste de données à lire qui sera terminée par le caractère "F" signifiant que la liste est terminée.
J'ai un problème pour ma boucle for afin de retourner ma somme dans le cas où la première valeur est positive. Je ne comprends pas pourquoi a s'imprime avant chaque nouvelle entrée alors que je ne demande qu'à afficher ma somme. Voici mon extrait de code :
Quand j’exécute sur Pycharm ou PythonTutor comme test, avec les données lues suivantes 4, 1, 2, 2, 2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 a = int(input()) somme = 0 if a >= 0: for i in range(a): a = int(input(a)) somme = somme + a print(somme) if a < 0: while a != "F": somme += int(a) a = input() print(somme)
4
41
12
22
22
7
7 étant la somme que je souhaiterais imprimer.
Merci d'avance pour vos prochains retours.
Partager