Aller au contenu

E02 - Chocolats⚓︎

Le problème

Chocolats

Solution⚓︎

🐍 Script Python
"""
author: Franck CHAMBON
problem: https://prologin.org/train/2011/semifinal/chocolats
"""
# 0. Cœur du problème
def moyenne_nombres_pairs(ma_liste: list[int]) -> int:
    """Renvoie la moyenne tronquée des nombres pairs de `ma_liste`
    >>> moyenne_nombres_pairs([1, 2, 3, 4])
    3
    >>> moyenne_nombres_pairs([12, 22, 3, 0])
    11
    """
    ma_liste_filtree = [x for x in ma_liste if x % 2 == 0]
    moyenne_filtree_tronquee = sum(ma_liste_filtree) // len(ma_liste_filtree)
    return moyenne_filtree_tronquee

import doctest
doctest.testmod()

# 1. Lecture
nb_chocolats = int(input())
chocolats = list(map(int, input().split()))

# 2. Écriture
print(moyenne_nombres_pairs(chocolats))

Variante⚓︎

Ceci était une version fonctionnelle, on peut écrire un code plus simple.

🐍 Script Python
nb_tours = int(input())
nb_chocolats = 0
nb_couples = 0
for x in map(int, input().split()):
    if x % 2 == 0:
        nb_couples += 1
        nb_chocolats += x
print(nb_chocolats // nb_couples)