Problème avec mon code python concernant les dictionnaires

camille03 -  
Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   -

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. PierrotLeFou
     

    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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       

      bonjour,

      en effet:

          for i in note.values():
              somme = somme + i
      0
  2. sebastiane
     

    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
  3. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     

    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