Problème avec mon code python concernant les dictionnaires

Fermé
camille03 - 27 nov. 2022 à 01:30
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 3 déc. 2022 à 16:40

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

A voir également:

3 réponses

PierrotLeFou
27 nov. 2022 à 02:52

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
yg_be Messages postés 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
27 nov. 2022 à 10:32

bonjour,

en effet:

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

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
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
3 déc. 2022 à 16:40

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