Ouvrir l'appli

Matières

NSINSI415 vues·Mis à jour 5 juil. 2026·4 pages

Morpion en Python — code simple pour NSI

Comment coder un jeu de morpion (tic-tac-toe) fonctionnel en Python...

1
of 4
# -*- coding: utf-8 -*-

Created on Wed May 19 15:39:50
2021

@author: Alexandra Berthaud Laetitia Drugeon

import random

#rond = 1
#croix

Grille et conditions de victoire

Modélisation du plateau

Le morpion utilise une matrice 3×33 \times 3 de nombres entiers.

  • Ronds (Joueur) : représentés par la valeur 11.
  • Croix (Ordi) : représentées par la valeur 44.
  • Cases vides : représentées par la valeur 00.

Détecter la fin de partie

La fonction fin(mat) vérifie l'état de la grille.

  • Somme de 3 : un joueur aligne trois ronds (1+1+11+1+1), victoire du joueur.
  • Somme de 12 : l'ordinateur aligne trois croix (4+4+44+4+4), victoire de l'ordinateur.

💡 Astuce : Utiliser des valeurs numériques différentes de 11 évite toute confusion lors du calcul de la somme des lignes ou colonnes.

2
of 4
# -*- coding: utf-8 -*-

Created on Wed May 19 15:39:50
2021

@author: Alexandra Berthaud Laetitia Drugeon

import random

#rond = 1
#croix

Entrées joueur et logique de l'IA

Tour du joueur

Le joueur saisit les coordonnées de la case ciblée.

  • Coordonnées : conversion des indices utilisateurs 1-31\text{-}3 vers les indices Python 0-20\text{-}2.
  • Validation : vérification que la case mat[a-1][b-1] est bien égale à 00 (libre).

Stratégie de l'ordinateur

L'ordinateur joue de manière semi-intelligente ou aléatoire.

  • Recherche de proximité : l'ordinateur tente de poser son pion adjacent à l'un de ses pions existants.
  • Aléatoire : si aucune case adjacente n'est libre, il choisit une case au hasard via random.randint.

💡 Attention : Pense à soustraire 11 aux saisies de l'utilisateur pour ne pas dépasser la taille de la liste et lever une erreur IndexError.

3
of 4
# -*- coding: utf-8 -*-

Created on Wed May 19 15:39:50
2021

@author: Alexandra Berthaud Laetitia Drugeon

import random

#rond = 1
#croix

Boucle de jeu principale

Initialisation

La partie commence par la création d'une grille vide.

  • Matrice vide : déclarée sous la forme [[0,0,0], [0,0,0], [0,0,0]].
  • Premiers tours : le joueur commence la partie pour installer le jeu.

Boucle de jeu

Le jeu alterne les tours jusqu'à la fin de la partie.

  • Alternance : boucle while qui tourne tant que fin(mat) renvoie False.
  • Verdict : affichage final du vainqueur une fois la boucle interrompue.

💡 Attention : Veille à tester la fin de partie immédiatement après le coup du joueur pour éviter que l'ordinateur ne joue sur une grille déjà pleine.

4
of 4
# -*- coding: utf-8 -*-

Created on Wed May 19 15:39:50
2021

@author: Alexandra Berthaud Laetitia Drugeon

import random

#rond = 1
#croix

Lancement du programme

L'interface utilisateur

Le programme propose un menu simple pour démarrer ou quitter.

  • Choix initial : saisie de 11 pour lancer organiser_partie() ou 00 pour quitter.
  • Fermeture : message d'au revoir amical si l'utilisateur décide de ne pas jouer.

Exemple :

  • Entrée : 1 -> Déclenche le jeu.
  • Entrée : 0 -> Affiche "Au revoir".

💡 Astuce : Convertis toujours l'entrée utilisateur avec int() pour pouvoir la comparer directement à des nombres entiers.

Si on te demande...

Notre compagnon IA est spécialement conçu pour répondre aux besoins des étudiants. Sur la base des millions d'éléments de contenu que nous avons sur la plateforme, nous pouvons fournir des réponses vraiment significatives et pertinentes aux étudiants. Mais il ne s'agit pas seulement de réponses, le compagnon a encore plus pour but de guider les élèves dans leurs défis d'apprentissage quotidiens, avec des plans d'étude personnalisés, des quiz ou des éléments de contenu dans le chat et une personnalisation à 100% basée sur les compétences et les développements de l'étudiant.

Tu peux télécharger l'application dans Google Play Store et dans l'App Store d'Apple.

Oui, tu as un accès entièrement gratuit à tous les contenus de l'appli, tu peux chatter ou suivre les créateurs à tout moment. De plus, nous proposons Knowunity Premium, qui te permet de réviser sans limites!

Contenus similaires

Contenus les plus populaires en SI

9
SISI

Équations RC et Condensateurs

Explorez les concepts clés des dipôles RC, y compris les formules essentielles, le chargement et le déchargement des condensateurs dans une résistance, ainsi que les équations différentielles associées. Ce résumé est idéal pour les étudiants en physique cherchant à maîtriser ces notions fondamentales.

2nde1203
NSINSI

Arbres Binaires Essentiels

Découvrez les concepts clés des arbres binaires, y compris la taille, la profondeur, et les parcours (préfixe, infixe, suffixe). Ce résumé est idéal pour préparer le bac de NSI et comprend des définitions et des exemples pratiques.

Tle3,891149
NSINSI

Commandes SQL Essentielles

Explorez les commandes fondamentales du langage SQL, y compris INSERT, DELETE, UPDATE, et SELECT. Ce résumé couvre également les contraintes de domaine, de relation et de référence, ainsi que les opérations de tri et de jointure. Idéal pour les étudiants préparant le bac en NSI.

Tle5,588234
NSINSI

Graphes et Arbres Binaires

Explorez les concepts fondamentaux des graphes et des arbres binaires, y compris les types de graphes, les matrices et listes d'adjacences, ainsi que les différentes méthodes de parcours d'arbres. Ce document est essentiel pour comprendre les structures de données en NSI.

Tle1,43239
SNTSNT

Chaînes d'Information et d'Énergie

Explorez les concepts fondamentaux des chaînes d'information et d'énergie en technologie. Cette fiche présente les étapes d'acquisition, de traitement et de communication des informations, ainsi que les conversions d'énergie nécessaires pour alimenter et transmettre des actions. Idéal pour les étudiants en technologie cherchant à comprendre les systèmes techniques.

4e1,42635
NSINSI

Introduction à la POO

Explorez les concepts fondamentaux de la programmation orientée objet (POO), y compris son histoire, la représentation des classes, la conception d'objets, et l'instanciation. Ce résumé est essentiel pour les étudiants en NSI préparant le bac, avec des exemples pratiques de code Python.

Tle3,824127
NSINSI

Dictionnaires en Python

Explorez les concepts fondamentaux des dictionnaires en Python, y compris la création, la modification, et l'accès aux éléments. Ce document présente des exemples pratiques et des méthodes clés comme 'items()', 'keys()', et 'values()'. Type de contenu : fiche de révisions.

1ère1,47173
NSINSI

Réseaux et Protocoles TCP/IP

Explorez les fondamentaux des réseaux informatiques, y compris les adresses IP, les protocoles TCP/IP, et les différentes topologies de réseau. Ce résumé couvre les concepts clés tels que le modèle OSI, l'encapsulation de paquets, et les types de réseaux comme Ethernet et Wi-Fi. Idéal pour les étudiants en informatique cherchant à comprendre la communication réseau.

1ère44210
NSINSI

Listes, Tuples et Dictionnaires

Découvrez les fondamentaux des listes, tuples et dictionnaires en Python. Ce document couvre les bases, les méthodes et les fonctions essentielles pour manipuler ces structures de données. Idéal pour les étudiants en NSI souhaitant maîtriser la programmation Python.

1ère3,741134

Contenus les plus populaires

9
D
HistoireHistoire

Défaite de 1940 et Régime de Vichy

Comprendre l'armistice de juin 1940, la fin de la IIIe République et la mise en place du nouveau régime autoritaire de Philippe Pétain.

3e3,8160
I
HistoireHistoire

Introduction à la Seconde Guerre mondiale

Identifiez les causes du conflit, les alliances et les dates clés du déclenchement de la guerre en Europe et dans le Pacifique.

3e6,2280
C
HistoireHistoire

Collaboration sous l'Occupation Allemande

Analyser les différentes formes de collaboration de l'État français, l'exclusion des Juifs et les rafles durant la Seconde Guerre mondiale.

3e2,5700
PhilosophiePhilosophie

Conscience en Philosophie

Explorez la notion de conscience en philosophie à travers ses implications sur la justice, la liberté, et la connaissance. Cette fiche de révision aborde les débats philosophiques sur la conscience, le cogito, et les valeurs morales, tout en intégrant des perspectives contemporaines. Idéale pour les étudiants en philosophie cherchant à approfondir leur compréhension des enjeux éthiques et existentiels.

Tle107,3125,430
HistoireHistoire

Guerre Totale : 1939-1945

Explorez les événements marquants de la Seconde Guerre mondiale, de l'invasion de la Pologne à la capitulation du Japon. Ce résumé aborde les concepts clés tels que la guerre totale, le génocide des Juifs, la bataille de Stalingrad, et l'impact de la propagande. Idéal pour les étudiants en histoire cherchant à comprendre les enjeux et les conséquences de ce conflit majeur.

3e213,49617,355
C
HistoireHistoire

Crises majeures de la Guerre froide

Analyser les moments de tension extrême tels que le blocus de Berlin et la crise des missiles de Cuba.

3e1,9390
A
FrançaisFrançais

Analyse des figures de style en contexte

Repérer les figures de style dans des extraits littéraires et analyser l'effet produit sur le lecteur.

3e3,0270
HistoireHistoire

Conflits de la Guerre Froide

Explorez les principaux événements et tensions de la Guerre froide (1947-1991), y compris la division de l'Allemagne, la crise de Cuba, la guerre du Vietnam, et la course à l'espace. Cette fiche de révision couvre les idéologies opposées des blocs Est et Ouest, les crises majeures, et l'impact mondial de cette période historique.

3e48,7049,777
MathsMaths

Fiches récapitulatives spé maths - TOUT le programme de terminale

Ces fiches vont vous sauver pour le bac de spé maths! :)

Tle3,814145

Les étudiants nous adorent — il ne manque plus que toi.

4.6/5App Store
4.7/5Google Play

L'application est très facile d'utilisation et bien conçue. Jusqu'à présent, j'ai trouvé tout ce que je cherchais et j'ai pu apprendre beaucoup de choses grâce aux présentations ! Je vais certainement utiliser l'application pour un travail en classe ! Et comme source d'inspiration personnelle, elle est bien sûr aussi très utile.

Stefan Sutilisateur iOS

Cette application est vraiment super. Il y a tellement de fiches de révision et d'aide, [...]. Par exemple, la matière qui me pose problème est le français et l'appli a un choix d'aide très large. Grâce à cette application, je me suis améliorée en français. Je la recommanderais à tout le monde.

Samantha Klichutilisatrice Android

Waouh, je suis vraiment abasourdi. J'ai essayé l'application parce que je l'avais déjà vue plusieurs fois dans la publicité et j'ai été absolument choquée. Cette appli est L'AIDE dont on rêve pour l'école et surtout, elle propose tellement de choses, comme des rédactions et des fiches qui m'ont personnellement TRÈS bien aidé.

Annautilisatrice iOS
NSINSI415 vues·Mis à jour 5 juil. 2026·4 pages

Morpion en Python — code simple pour NSI

Comment coder un jeu de morpion (tic-tac-toe) fonctionnel en Python ? Ce projet classique de programmation illustre parfaitement la manipulation des listes bidimensionnelles, la gestion des structures de contrôle et la création d'algorithmes de décision. Les notes de cours présentées...

1
of 4
# -*- coding: utf-8 -*-

Created on Wed May 19 15:39:50
2021

@author: Alexandra Berthaud Laetitia Drugeon

import random

#rond = 1
#croix

Inscris-toi pour voir le contenu. C'est gratuit!

  • Accès à tous les documents
  • Améliore tes notes
  • Rejoins des millions d'étudiants

En t'inscrivant, tu acceptes les Conditions d'utilisation et la Politique de confidentialité.

Grille et conditions de victoire

Modélisation du plateau

Le morpion utilise une matrice 3×33 \times 3 de nombres entiers.

  • Ronds (Joueur) : représentés par la valeur 11.
  • Croix (Ordi) : représentées par la valeur 44.
  • Cases vides : représentées par la valeur 00.

Détecter la fin de partie

La fonction fin(mat) vérifie l'état de la grille.

  • Somme de 3 : un joueur aligne trois ronds (1+1+11+1+1), victoire du joueur.
  • Somme de 12 : l'ordinateur aligne trois croix (4+4+44+4+4), victoire de l'ordinateur.

💡 Astuce : Utiliser des valeurs numériques différentes de 11 évite toute confusion lors du calcul de la somme des lignes ou colonnes.

2
of 4
# -*- coding: utf-8 -*-

Created on Wed May 19 15:39:50
2021

@author: Alexandra Berthaud Laetitia Drugeon

import random

#rond = 1
#croix

Inscris-toi pour voir le contenu. C'est gratuit!

  • Accès à tous les documents
  • Améliore tes notes
  • Rejoins des millions d'étudiants

En t'inscrivant, tu acceptes les Conditions d'utilisation et la Politique de confidentialité.

Entrées joueur et logique de l'IA

Tour du joueur

Le joueur saisit les coordonnées de la case ciblée.

  • Coordonnées : conversion des indices utilisateurs 1-31\text{-}3 vers les indices Python 0-20\text{-}2.
  • Validation : vérification que la case mat[a-1][b-1] est bien égale à 00 (libre).

Stratégie de l'ordinateur

L'ordinateur joue de manière semi-intelligente ou aléatoire.

  • Recherche de proximité : l'ordinateur tente de poser son pion adjacent à l'un de ses pions existants.
  • Aléatoire : si aucune case adjacente n'est libre, il choisit une case au hasard via random.randint.

💡 Attention : Pense à soustraire 11 aux saisies de l'utilisateur pour ne pas dépasser la taille de la liste et lever une erreur IndexError.

3
of 4
# -*- coding: utf-8 -*-

Created on Wed May 19 15:39:50
2021

@author: Alexandra Berthaud Laetitia Drugeon

import random

#rond = 1
#croix

Inscris-toi pour voir le contenu. C'est gratuit!

  • Accès à tous les documents
  • Améliore tes notes
  • Rejoins des millions d'étudiants

En t'inscrivant, tu acceptes les Conditions d'utilisation et la Politique de confidentialité.

Boucle de jeu principale

Initialisation

La partie commence par la création d'une grille vide.

  • Matrice vide : déclarée sous la forme [[0,0,0], [0,0,0], [0,0,0]].
  • Premiers tours : le joueur commence la partie pour installer le jeu.

Boucle de jeu

Le jeu alterne les tours jusqu'à la fin de la partie.

  • Alternance : boucle while qui tourne tant que fin(mat) renvoie False.
  • Verdict : affichage final du vainqueur une fois la boucle interrompue.

💡 Attention : Veille à tester la fin de partie immédiatement après le coup du joueur pour éviter que l'ordinateur ne joue sur une grille déjà pleine.

4
of 4
# -*- coding: utf-8 -*-

Created on Wed May 19 15:39:50
2021

@author: Alexandra Berthaud Laetitia Drugeon

import random

#rond = 1
#croix

Inscris-toi pour voir le contenu. C'est gratuit!

  • Accès à tous les documents
  • Améliore tes notes
  • Rejoins des millions d'étudiants

En t'inscrivant, tu acceptes les Conditions d'utilisation et la Politique de confidentialité.

Lancement du programme

L'interface utilisateur

Le programme propose un menu simple pour démarrer ou quitter.

  • Choix initial : saisie de 11 pour lancer organiser_partie() ou 00 pour quitter.
  • Fermeture : message d'au revoir amical si l'utilisateur décide de ne pas jouer.

Exemple :

  • Entrée : 1 -> Déclenche le jeu.
  • Entrée : 0 -> Affiche "Au revoir".

💡 Astuce : Convertis toujours l'entrée utilisateur avec int() pour pouvoir la comparer directement à des nombres entiers.

Si on te demande...

Notre compagnon IA est spécialement conçu pour répondre aux besoins des étudiants. Sur la base des millions d'éléments de contenu que nous avons sur la plateforme, nous pouvons fournir des réponses vraiment significatives et pertinentes aux étudiants. Mais il ne s'agit pas seulement de réponses, le compagnon a encore plus pour but de guider les élèves dans leurs défis d'apprentissage quotidiens, avec des plans d'étude personnalisés, des quiz ou des éléments de contenu dans le chat et une personnalisation à 100% basée sur les compétences et les développements de l'étudiant.

Tu peux télécharger l'application dans Google Play Store et dans l'App Store d'Apple.

Oui, tu as un accès entièrement gratuit à tous les contenus de l'appli, tu peux chatter ou suivre les créateurs à tout moment. De plus, nous proposons Knowunity Premium, qui te permet de réviser sans limites!

Contenus similaires

Contenus les plus populaires en SI

9
SISI

Équations RC et Condensateurs

Explorez les concepts clés des dipôles RC, y compris les formules essentielles, le chargement et le déchargement des condensateurs dans une résistance, ainsi que les équations différentielles associées. Ce résumé est idéal pour les étudiants en physique cherchant à maîtriser ces notions fondamentales.

2nde1203
NSINSI

Arbres Binaires Essentiels

Découvrez les concepts clés des arbres binaires, y compris la taille, la profondeur, et les parcours (préfixe, infixe, suffixe). Ce résumé est idéal pour préparer le bac de NSI et comprend des définitions et des exemples pratiques.

Tle3,891149
NSINSI

Commandes SQL Essentielles

Explorez les commandes fondamentales du langage SQL, y compris INSERT, DELETE, UPDATE, et SELECT. Ce résumé couvre également les contraintes de domaine, de relation et de référence, ainsi que les opérations de tri et de jointure. Idéal pour les étudiants préparant le bac en NSI.

Tle5,588234
NSINSI

Graphes et Arbres Binaires

Explorez les concepts fondamentaux des graphes et des arbres binaires, y compris les types de graphes, les matrices et listes d'adjacences, ainsi que les différentes méthodes de parcours d'arbres. Ce document est essentiel pour comprendre les structures de données en NSI.

Tle1,43239
SNTSNT

Chaînes d'Information et d'Énergie

Explorez les concepts fondamentaux des chaînes d'information et d'énergie en technologie. Cette fiche présente les étapes d'acquisition, de traitement et de communication des informations, ainsi que les conversions d'énergie nécessaires pour alimenter et transmettre des actions. Idéal pour les étudiants en technologie cherchant à comprendre les systèmes techniques.

4e1,42635
NSINSI

Introduction à la POO

Explorez les concepts fondamentaux de la programmation orientée objet (POO), y compris son histoire, la représentation des classes, la conception d'objets, et l'instanciation. Ce résumé est essentiel pour les étudiants en NSI préparant le bac, avec des exemples pratiques de code Python.

Tle3,824127
NSINSI

Dictionnaires en Python

Explorez les concepts fondamentaux des dictionnaires en Python, y compris la création, la modification, et l'accès aux éléments. Ce document présente des exemples pratiques et des méthodes clés comme 'items()', 'keys()', et 'values()'. Type de contenu : fiche de révisions.

1ère1,47173
NSINSI

Réseaux et Protocoles TCP/IP

Explorez les fondamentaux des réseaux informatiques, y compris les adresses IP, les protocoles TCP/IP, et les différentes topologies de réseau. Ce résumé couvre les concepts clés tels que le modèle OSI, l'encapsulation de paquets, et les types de réseaux comme Ethernet et Wi-Fi. Idéal pour les étudiants en informatique cherchant à comprendre la communication réseau.

1ère44210
NSINSI

Listes, Tuples et Dictionnaires

Découvrez les fondamentaux des listes, tuples et dictionnaires en Python. Ce document couvre les bases, les méthodes et les fonctions essentielles pour manipuler ces structures de données. Idéal pour les étudiants en NSI souhaitant maîtriser la programmation Python.

1ère3,741134

Contenus les plus populaires

9
D
HistoireHistoire

Défaite de 1940 et Régime de Vichy

Comprendre l'armistice de juin 1940, la fin de la IIIe République et la mise en place du nouveau régime autoritaire de Philippe Pétain.

3e3,8160
I
HistoireHistoire

Introduction à la Seconde Guerre mondiale

Identifiez les causes du conflit, les alliances et les dates clés du déclenchement de la guerre en Europe et dans le Pacifique.

3e6,2280
C
HistoireHistoire

Collaboration sous l'Occupation Allemande

Analyser les différentes formes de collaboration de l'État français, l'exclusion des Juifs et les rafles durant la Seconde Guerre mondiale.

3e2,5700
PhilosophiePhilosophie

Conscience en Philosophie

Explorez la notion de conscience en philosophie à travers ses implications sur la justice, la liberté, et la connaissance. Cette fiche de révision aborde les débats philosophiques sur la conscience, le cogito, et les valeurs morales, tout en intégrant des perspectives contemporaines. Idéale pour les étudiants en philosophie cherchant à approfondir leur compréhension des enjeux éthiques et existentiels.

Tle107,3125,430
HistoireHistoire

Guerre Totale : 1939-1945

Explorez les événements marquants de la Seconde Guerre mondiale, de l'invasion de la Pologne à la capitulation du Japon. Ce résumé aborde les concepts clés tels que la guerre totale, le génocide des Juifs, la bataille de Stalingrad, et l'impact de la propagande. Idéal pour les étudiants en histoire cherchant à comprendre les enjeux et les conséquences de ce conflit majeur.

3e213,49617,355
C
HistoireHistoire

Crises majeures de la Guerre froide

Analyser les moments de tension extrême tels que le blocus de Berlin et la crise des missiles de Cuba.

3e1,9390
A
FrançaisFrançais

Analyse des figures de style en contexte

Repérer les figures de style dans des extraits littéraires et analyser l'effet produit sur le lecteur.

3e3,0270
HistoireHistoire

Conflits de la Guerre Froide

Explorez les principaux événements et tensions de la Guerre froide (1947-1991), y compris la division de l'Allemagne, la crise de Cuba, la guerre du Vietnam, et la course à l'espace. Cette fiche de révision couvre les idéologies opposées des blocs Est et Ouest, les crises majeures, et l'impact mondial de cette période historique.

3e48,7049,777
MathsMaths

Fiches récapitulatives spé maths - TOUT le programme de terminale

Ces fiches vont vous sauver pour le bac de spé maths! :)

Tle3,814145

Les étudiants nous adorent — il ne manque plus que toi.

4.6/5App Store
4.7/5Google Play

L'application est très facile d'utilisation et bien conçue. Jusqu'à présent, j'ai trouvé tout ce que je cherchais et j'ai pu apprendre beaucoup de choses grâce aux présentations ! Je vais certainement utiliser l'application pour un travail en classe ! Et comme source d'inspiration personnelle, elle est bien sûr aussi très utile.

Stefan Sutilisateur iOS

Cette application est vraiment super. Il y a tellement de fiches de révision et d'aide, [...]. Par exemple, la matière qui me pose problème est le français et l'appli a un choix d'aide très large. Grâce à cette application, je me suis améliorée en français. Je la recommanderais à tout le monde.

Samantha Klichutilisatrice Android

Waouh, je suis vraiment abasourdi. J'ai essayé l'application parce que je l'avais déjà vue plusieurs fois dans la publicité et j'ai été absolument choquée. Cette appli est L'AIDE dont on rêve pour l'école et surtout, elle propose tellement de choses, comme des rédactions et des fiches qui m'ont personnellement TRÈS bien aidé.

Annautilisatrice iOS