Problème avec mon code python concernant les dictionnaires

Bonjour,

j'ai écrit ce code en python et je ne comprends pas l'erreur. Quelqu'un pourrait m'expliquer ?

merci bcp :)

def moyenne(note):
    somme = 0
    for i in range(len(note)):
        somme = somme + note.values()
    moyenne = somme / len(note)
    return moyenne


print(moyenne({"camille": 50, "jean": 45}))


Macintosh / Safari 15.6.1

3 réponses

  1. note.values() est une liste (justement celle des notes)
    On ne peut pas ajouter une liste à un nombre.
    C'est ce que tu devrait mettre sur ta ligne for

    0
    1. Contributeur

      bonjour,

      en effet:

          for i in note.values():
              somme = somme + i
      0
  2. bonsoir moi je pense également que tu devrais fais comme ceci:

    def moyenne(note):
    	# print(note)
    	somme = 0
    	for i in note.values():
    		somme = somme + i
    	moyenne = somme / len(note)
    	return moyenne
    
    
    print(moyenne({"camille": 50, "jean": 45}))
    
    0
    1. ou alors comme ça:

      def moyenne(notes):
          somme = 0
          for note in notes.values(): somme += note
          moyenne = somme / len(notes)
          return moyenne
      
      print(moyenne({"camille": 50, "jean": 45}))
      0