user
Une grille de Takuzu ou Binero est une grille carrée à n lignes et autant de colonnes avec n pair. Au départ, chaque case peut contenir 0,1, ou être vide. En Python, une grille est codée par une liste de listes, les cases vides étant représentées par None. Ecrire une fonction prenant en argument une grille de taille non précisée et renvoyant le nombre de cases non remplies.
alphonsio

La fonction Python ci-dessous permet de compter le nombre de cases non remplies dans une liste de liste contenant une grille de Takuzu :

# Compte et retourne le nombre de cases vides
def compter_cases_vides(grille):
    nombre_de_cases_vides = 0
    for ligne in grille:
        for case in ligne:
            if case is None:
                nombre_de_cases_vides += 1
    return nombre_de_cases_vides

Pour résoudre ce problème, vous pouvez écrire une fonction Python qui parcourt la grille et compte le nombre de cases qui contiennent None. Voici un exemple de fonction pour effectuer cette tâche :

# Compte et retourne le nombre de cases vides
def compter_cases_vides(grille):
    nombre_de_cases_vides = 0
    # Parcourt les lignes
    for ligne in grille:
        # Parcourt les cases 
        for case in ligne:
            # Si la case est vide, incrémente le compteur
            if case is None:
                nombre_de_cases_vides += 1
    # Retourne le nombre de cases vides
    return nombre_de_cases_vides

# Exemple d'utilisation :
grille = [
    [0, 1, None],
    [None, 0, 1],
    [1, None, None]
]

# Appel de la fonction et affichage du résultat
resultat = compter_cases_vides(grille)
print(f"Nombre de case(s) non remplie(s): {resultat}")

Ce code définit une fonction compter_cases_vides qui prend une grille comme argument. La fonction parcourt chaque ligne de la grille et chaque case dans chaque ligne. Si une case est vide (contient None), la fonction incrémente le compteur nombre_de_cases_vides. Enfin, elle retourne le nombre total des cases vides.

Voici un exemple d'utilisation en ligne :