Trouver la somme de tous les numéros dans la liste — python
Im la création d'un programme qui prend en entrée des scores, ajoute à une liste et, à l'aide d'une boucle for, ajoute l'ensemble de l'affichage de la somme totale. L'obtention de certains problèmes, bien. Vérifiez s'il vous Plaît..
scoreList = []
count = 0
score = 0
sum = 0
while score != 999:
score = float(input("enter a score or enter 999 to finish: "))
if score > 0 and score < 100:
scoreList.append(score)
elif (score <0 or score > 100) and score != 999:
print("This score is invalid, Enter 0-100")
else:
for number in scoreList:
sum = sum + scoreList
print (sum)
- ignorer que la variable nombre, son inutile à ce point
- Que signifie "l'obtention de certains problèmes" signifie? Améliore-t-il une exception? Vous donner de mauvais résultats pour un certain ensemble d'entrées? Ou quoi?
- vous pouvez simplement utiliser le
sum()
builtin, qui vous sont répétition de votre régionsum
variable.. - Est-ce votre programme ne doit pas accepter les scores de 0 ou 100? Parce qu'en ce moment avec la façon dont vos conditions sont mis en place, votre programme va les ignorer.
- Comme une note côté, le
else
sur lewhile
n'est pas vraiment nécessaire ici. Car il n'y a pas debreak
, vous êtes garanti pour le frapper à chaque fois. Et si vous essayez de sauter par-dessus les cas où l'utilisateur n'a pas les scores (en tapant999
sur le tout premier message), il n'y a aucune bonne raison de le faire; siscoreList
est[]
,for number in scoreList:
est parfaitement légal, et réussir à boucle pas de temps et ne rien faire. - Comme une autre note de côté, vous n'avez pas besoin de "déclarer les variables au sommet" en Python, ce n'est pas C.
- 0 & 100! faire que dans un =en< et => maintenant. merci.
- J'ai aussi été à l'apprentissage de C++ et Visual Basic aussi. Toutes ces règles de syntaxe sont juste flotter dans ma tête!!
- Je suis un débutant et que ma tâche est d'utiliser une boucle pour la fonction somme est hors de question.
- Avez-vous appris à écrire et appeler vos propres fonctions encore? Si oui, il pourrait être bon d'essayer d'écrire votre propre
mysum
fonction qui fait la même chose quesum
, et ensuite de l'utiliser. Si non... vous vous en parlerai plus tard, je suppose. - j'ai juste écrit que la fonction en c il ya quelques heures. Pas de fonctions fait en Python pour le moment.
InformationsquelleAutor MrAlex42 | 2013-10-01
Vous devez vous connecter pour publier un commentaire.
Le problème est simple:
Si vous souhaitez ajouter chaque nombre dans scoreList, vous devez ajouter
number
, passcoreList
:Sinon, vous essayez d'ajouter à la liste de
sum
, plus et plus, une fois par valeur. Qui va faire unTypeError: unsupported operand type(s) for +: 'int' and 'list'
... mais vraiment, il n'y a rien, il pourrait faire ce qui pourrait être ce que vous voulez.Une solution plus simple est d'utiliser le haut-
somme
fonction. Bien sûr, cela voudrait dire que vous besoin d'un autre nom de variable, de sorte que vous ne cachez pas la fonction. Donc: