Exercices Projets guidés Detecter un gagnant complet
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Detecter un gagnant complet

On sait vérifier les lignes, mais un joueur peut aussi gagner sur une colonne ou en diagonale. Il y a 8 facons de gagner au morpion : 3 lignes, 3 colonnes, 2 diagonales.

Les colonnes : grille[0][c], grille[1][c], grille[2][c] pour c = 0, 1, 2.
La diagonale descendante : grille[0][0], grille[1][1], grille[2][2].
La diagonale montante : grille[0][2], grille[1][1], grille[2][0].

Écris une fonction vérifier_gagnant(grille) qui renvoie 'X' si X a gagne, 'O' si O a gagne, ou None si personne n'a gagne. Teste les 8 combinaisons possibles.

Exemple :
g = [['X', 'O', ' '], ['X', 'O', ' '], ['X', ' ', ' ']]
vérifier_gagnant(g) renvoie 'X' (colonne gauche)

g = [['X', 'O', ' '], [' ', 'X', 'O'], [' ', ' ', 'X']]
vérifier_gagnant(g) renvoie 'X' (diagonale)

Tests (4/5)

Colonne gagnante
g = [['X','O',' '],['X','O',' '],['X',' ',' ']]
assert vérifier_gagnant(g) == 'X'
Diagonale descendante
g = [['O',' ',' '],[' ','O',' '],[' ',' ','O']]
assert vérifier_gagnant(g) == 'O'
Diagonale montante
g = [[' ',' ','X'],[' ','X',' '],['X',' ',' ']]
assert vérifier_gagnant(g) == 'X'
Pas de gagnant
g = [['X','O','X'],['O','X','O'],['O','X','O']]
assert vérifier_gagnant(g) is None

+ 0 tests cachés

Indices (3 disponibles)

solution.py