Subjects

Knowunity AI

Open the App

Subjects

NSINSI415 views·Updated Jun 25, 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.

We thought you’d never ask...

Our AI companion is specifically built for the needs of students. Based on the millions of content pieces we have on the platform we can provide truly meaningful and relevant answers to students. But its not only about answers, the companion is even more about guiding students through their daily learning challenges, with personalised study plans, quizzes or content pieces in the chat and 100% personalisation based on the students skills and developments.

You can download the app in the Google Play Store and in the Apple App Store.

That's right! Enjoy free access to study content, connect with fellow students, and get instant help – all at your fingertips.

Most popular content in 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

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ère44110
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

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

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

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

Most popular content

9
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,2250
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,2895,430
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
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,46517,356
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,0250
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
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,7019,779
MathsMaths

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

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

Tle3,810145
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

Students love us — and so will you.

4.6/5App Store
4.7/5Google Play

The app is very easy to use and well designed. I have found everything I was looking for so far and have been able to learn a lot from the presentations! I will definitely use the app for a class assignment! And of course it also helps a lot as an inspiration.

Stefan SiOS user

This app is really great. There are so many study notes and help [...]. My problem subject is French, for example, and the app has so many options for help. Thanks to this app, I have improved my French. I would recommend it to anyone.

Samantha KlichAndroid user

Wow, I am really amazed. I just tried the app because I've seen it advertised many times and was absolutely stunned. This app is THE HELP you want for school and above all, it offers so many things, such as workouts and fact sheets, which have been VERY helpful to me personally.

AnnaiOS user
NSINSI415 views·Updated Jun 25, 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

Sign up to see the content. It's free!

  • Access to all documents
  • Improve your grades
  • Join milions of students

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

Sign up to see the content. It's free!

  • Access to all documents
  • Improve your grades
  • Join milions of students

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

Sign up to see the content. It's free!

  • Access to all documents
  • Improve your grades
  • Join milions of students

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

Sign up to see the content. It's free!

  • Access to all documents
  • Improve your grades
  • Join milions of students

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.

We thought you’d never ask...

Our AI companion is specifically built for the needs of students. Based on the millions of content pieces we have on the platform we can provide truly meaningful and relevant answers to students. But its not only about answers, the companion is even more about guiding students through their daily learning challenges, with personalised study plans, quizzes or content pieces in the chat and 100% personalisation based on the students skills and developments.

You can download the app in the Google Play Store and in the Apple App Store.

That's right! Enjoy free access to study content, connect with fellow students, and get instant help – all at your fingertips.

Most popular content in 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

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ère44110
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

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

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

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

Most popular content

9
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,2250
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,2895,430
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
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,46517,356
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,0250
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
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,7019,779
MathsMaths

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

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

Tle3,810145
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

Students love us — and so will you.

4.6/5App Store
4.7/5Google Play

The app is very easy to use and well designed. I have found everything I was looking for so far and have been able to learn a lot from the presentations! I will definitely use the app for a class assignment! And of course it also helps a lot as an inspiration.

Stefan SiOS user

This app is really great. There are so many study notes and help [...]. My problem subject is French, for example, and the app has so many options for help. Thanks to this app, I have improved my French. I would recommend it to anyone.

Samantha KlichAndroid user

Wow, I am really amazed. I just tried the app because I've seen it advertised many times and was absolutely stunned. This app is THE HELP you want for school and above all, it offers so many things, such as workouts and fact sheets, which have been VERY helpful to me personally.

AnnaiOS user