☀️
420-1G2-HU Logique de programmation
  • 👋Bienvenue dans le cours de logique de programmation!
  • Bases de la logique de programmation
    • Concepts de la programmation
    • Les opérateurs
      • Exercices
    • Les commentaires
  • Les données
    • Les données et types simples
    • Les variables, les constantes et les opérations de base
    • Les opérations d'écriture et de lecture
    • Les opérations sur les chaînes de caractères
    • Laboratoire 1 - données
    • Laboratoire 2 - données
  • Les collections de données
    • Les listes
    • Les opérations sur les listes
    • Laboratoire listes - solution
    • Les dictionnaires
      • Exercices
  • Différents types de traitements
    • Structures logiques séquentielle
    • Structures logiques conditionnelles (if/else/elif)
    • Structures logiques répétitives (boucles)
      • Exercices de base
      • Laboratoire boucles - solution
  • Modularisation
    • Création et appels des fonctions
    • La documentation des fonctions
    • Annotation de types dans les fonctions
    • Laboratoire - fonctions (niveau débutant)
    • Révision express fonctions
    • Les modules
      • Laboratoire
  • La portée des variables
  • Débogage
    • 🫂Le débogueur, c'est ton ami!
      • Introductions aux outils de débogage
      • Techniques de débogage
    • Les erreurs et exceptions
      • Introduction aux notions d’erreurs
      • Les exceptions et leurs gestion
      • Exercices de base - avec solutions
      • Laboratoire débogage et gestion des erreurs -solution
  • Tests unitaires
    • Tests unitaires
    • Exercice
  • Cryptographie
    • Introduction à la cryptographie
  • Les fichiers
    • Accès aux fichiers
  • Résolution de problèmes
    • Résolution de problèmes : exercice introductif
    • Étapes d'analyse et de résolution de problèmes
  • Activités avec Légos
    • Introduction à la programmation
    • Consolidation sur les fonctions avec des blocs
    • Pratiquer les boucles avec des blocs
  • Laboratoires
    • Simulation combat - dragon vs chevalier
    • Simulateur de bataille - Les anneaux du pouvoir
    • Jeu de cartes
    • Lien logique mathématique
      • Algèbre de Boole
    • Crypto variée
    • Après Noël
  • git - système de gestion de versions
    • Introduction à Git
    • Étapes de création des dépôts Git
  • Classes inversées
    • Résolution de problèmes, fonctions et traitements conditionnels
  • Examens
    • Examen 2 - 2023
    • Examen 3 - 2023
    • Examen 2 - 2024
  • Révision
    • Fonctions, gestion d'erreurs et tests unitaires
    • Résolution de problème
  • Trucs utiles
    • Check-list
Powered by GitBook
On this page
  • But
  • Exercice 1
  • Exercice 2
  • Exercice 3
  • Exercice 4
  • Exercice 5 : Jeu de Craps
  • Partie 1 : lancement de dés.
  • Partie 2 : Jeu de craps
  1. Modularisation
  2. Les modules

Laboratoire

PreviousLes modulesNextLa portée des variables

Last updated 9 months ago

But

  • S'exercer sur l'importation et l'utilisation de modules : exploration des modules datetime et random.

  • Utilisation de la documentation officielle python d'un module.

  • Les fonctions.

Exercice 1

Durée : 10 minutes, incluant recherche dans la documentation du module datetime.

Créez une date future de votre choix et affichez dans combien de jours cette date arrivera. Vous devez utiliser une fonction qui fait le calcul et l'affichage.

Exercice 2

Durée : 20 minutes, incluant recherche dans la documentation du module datetime.

Créez un programme qui fera les actions suivantes :

  • Demander à l'utilisateur une année, un mois et un jour, séparément.

  • Créer une fonction qui transforme la date entrée par l'utilisateur au format jour_semaine jour_mois mois annee. Exemple : Thursday 23 November 2023. Pour afficher la date en français, utilisez :

import locale
locale.setlocale(locale.LC_ALL, "fr_CA.utf8")

Exercice 3

Durée : 30 minutes, incluant recherche dans la documentation du module datetime.

  • Créez une fonction qui demande à l'utilisateur sa date de naissance au format jour/mois/annee et retourne la date de naissance en objet datetime.

  • Créez une fonction qui retourne l'âge de la personne en années à partir de la date de naissance précédente (objet datetime).

  • Créez une fonction qui retourne l'âge de la personne en jours à partir de la date de naissance précédente (objet datetime).

  • Créez une fonction qui affiche la date de naissance complète (comme dans l'exemple).

Exemple d'exécution :

Veuillez entrer une date de naissance au format jj/mm/aaaa : 16/04/2015
Vous avez 8 ans
Vous êtes vieux de 3122 jours
Vous êtes né(e) jeudi le 16 avril 2015

Exercice 4

Durée : 30 minutes.

Implémentez une fonction qui créé une liste d'étudiants. Les informations de chaque étudiant devraient être son nom, son prénom et son numéro de groupe. Ces informations doivent être entrées par l'utilisateur.

À la fin de la création, la liste doit ressembler à ça :

[
    ['Dupont', 'Jean', 1],
    ['Martin', 'Alice', 2],
    ['Tremblay', 'Pierre', 1],
    ['Lefevre', 'Sophie', 2],
    ['Dubois', 'Thomas', 2]
]

Nous souhaitons former des binômes d'étudiants du même groupe. Le choix des étudiants doit se faire de façon aléatoire.

  • Quelles sont les fonctions à créer, leurs paramètres d'entrés et leurs valeurs de retour ?

  • Quel est le nom du module et la fonction du module qui permet de choisir aléatoirement un élément d'une liste.

  • Implémentez ces fonctions de façon à créer une liste de binômes d'étudiants du même groupe.

Exercice 5 : Jeu de Craps

Durée : 30 minutes.

Partie 1 : lancement de dés.

  • Commencez par créer une fonction qui simule le lancement de deux dés et qui donne la somme des deux valeurs des dés.

  • Testez la et assurez-vous qu'elle fonctionne.

Partie 2 : Jeu de craps

Créez un programme qui simule le jeu suivant.

Note : vous devez utiliser une (ou des) fonction(s).

Objectif du Jeu : Le but du jeu est de prédire le résultat d'un lancer de deux dés, en suivant les règles du craps.

Règles du Jeu :

  1. Au premier lancer (appelé le "tir de sortie"):

    • Si le total des dés est 7 ou 11, le joueur gagne.

    • Si le total des dés est 2, 3 ou 12, le joueur perd.

    • Sinon, le total des dés devient le "point" et le jeu passe à la phase suivante.

  2. Durant les lancers suivants (phase de point) :

    • Le joueur doit relancer les dés jusqu'à ce qu'il obtienne à nouveau le "point" et gagne.

    • Si le joueur obtient un total de 7 avant d'atteindre à nouveau le "point", il perd.

Déroulement du Jeu :

  1. Le joueur choisit de commencer une partie ou non.

  2. Le programme simule le lancer de dés.

    • Le jeu est terminé si le joueur gagne ou perd.

    • S'il s'agit d'une phase de point, le joueur relance les dés jusqu'à ce qu'il gagne ou perde.

    • Le résultat de la partie est affiché, et le joueur a la possibilité de jouer à nouveau.

random — Generate pseudo-random numbersPython documentation
Logo
datetime — Basic date and time typesPython documentation
Logo