Projet NSI (remplacement) - Créer un Chatbot en Python (2H)

🤖 Projet NSI (remp.) : Créer un Chatbot en Python (2H) 📝

Indications :

  • Vous pouvez utiliser une IA (comme ChatGPT, MistralAI ou autre) comme aide, mais vous devez comprendre chaque ligne de votre code !
  • Ă€ la fin de la sĂ©ance, un reprĂ©sentant de chaque groupe devra prĂ©senter le chatbot et expliquer son fonctionnement.

Objectif :

Programmer un chatbot interactif capable de répondre à des questions simples, avec des possibilités d'amélioration.

Concepts révisés :

  • Utilisation de print() et input() pour l’interaction utilisateur.
  • Structures conditionnelles if/else.
  • Utilisation de boucles while pour une interaction continue.

Étape 1 : Démarrage 🚀

Exercice : Commencez par un programme minimal :

  • Affiche une salutation.
  • Lit la question posĂ©e par l'utilisateur.
  • Affiche une rĂ©ponse en fonction de mots-clĂ©s.
# Étape 1 : Squelette du chatbot
print("Bonjour ! Je suis votre assistant virtuel.")  # Affiche une salutation
utilisateur = input("Comment puis-je vous aider aujourd'hui ? ")  # Lit la question posée par l'utilisateur

if "météo" in utilisateur:  # Si l'utilisateur parle de la météo
    print("Je ne suis pas connectĂ© Ă  la mĂ©tĂ©o, mais je ne pense pas qu'il va pleuvoir Ă  DubaĂŻ, vous ne finirez pas Ă  14H30")
elif "heure" in utilisateur:  # Si l'utilisateur parle de l'heure
    print("Désolé, je ne porte pas de montre, je ne connais l'heure.")
else:  # Sinon, réponse par défaut
    print("Je ne comprends pas votre demande, mais tu vas m'aider à me développer !")
    

Étape 2 : Interaction plus riche 💡

Exercice : Ajoutez de nouvelles questions et réponses pour rendre le chatbot plus utile.

Par exemple :

  • "Raconte-moi une blague."
  • "Quel est le cours aujourd'hui ?"
# Étape 2 : Enrichissement des réponses
print("Bienvenue dans la discussion !")  # Message de bienvenue
while True:  # Boucle infinie pour poser plusieurs questions
    utilisateur = input("Pose-moi une question (ou Ă©cris 'quit' pour quitter) : ")  # Lit la question
    if utilisateur == "quit":  # Si l'utilisateur Ă©crit "quit", on quitte la boucle
        print("Au revoir !")
        break
    elif "blague" in utilisateur:  # Si l'utilisateur demande une blague
        print("Qu'est-ce qui est jaune et qui attend? Jo-Jo-Jonaaaathan")
    elif "cours" in utilisateur:  # Si l'utilisateur demande le cours
        print("Aujourd'hui, vous réalisez un chatbot en Python avec Mr. SALAH")
    else:  # Réponse par défaut
        print("Je ne sais pas répondre à cette question.")
    

Étape 3 : Personnalisation ✨

Exercice : Donnez à votre chatbot un nom et ajoutez des réponses personnalisées.

Par exemple, le chatbot pourrait dire :

  • "Je suis SquidBot42, votre assistant virtuel !"
  • Affichez un message diffĂ©rent si une question contient le mot "NSI".

Étape 4 : Amélioration 🛠️

Consigne : Prenez le temps d'améliorer votre chatbot :

  • Ajoutez de nouvelles questions/rĂ©ponses crĂ©atives.
  • Personnalisez l'affichage (par exemple, ajoutez des emojis).

Vous pouvez utiliser une IA comme aide, mais vous devez comprendre chaque ligne de code !

Étape 5 : Présentation 🎤

À la fin de la séance :

  • Chaque binĂ´me ou Ă©lève prĂ©sente son chatbot en expliquant le fonctionnement de son code.
  • Partagez vos idĂ©es pour amĂ©liorer le projet.

🎉 Bravo, vous avez créé un chatbot Python ! 🎉

Suggestions d'amélioration :

  • Ajouter des fonctions pour organiser le code.
  • IntĂ©grer une interface utilisateur simple avec une bibliothèque comme tkinter.
  • Utiliser une base de donnĂ©es de questions/rĂ©ponses.

🚀