Code Monkey home page Code Monkey logo

tp-doomsday-rule's Introduction

L'objectif de ce TP est l'implémentation de l'algorithme du jour du jugement dernier de John Conway.

Seules les dates à partir de l'année 1583 (première année complète du calendrier grégorien) seront prises en charge.

Saisie de la date

La première partie du projet consiste à demander une date au format YYYY-MM-dd et à définir si elle est valide ou non. La récupération de cet input se fera dans le fichier principal doomsday.py.

Puis vous devrez vérifier :

  • Que l'input suit correctement le format "YYYY-MM-dd"
  • Que la date est postérieure à 1583 et existe

Lorsque l'utilisateur commet une erreur de saisie, vous devez lui expliquer laquelle.

Pour simplifier les tests, votre fonction de validation devra se trouver dans le fichier doomsday/date.py et se nommer is_valid_date().

Bien sûr, il est possible (et recommandé) d'utiliser des sous-fonctions.

Comment tester ?

Pour être considéré comme valide, votre algorithme doit passer une série de tests.

Pour tester, exécutez le fichier test-date.py.

Attention : tous les cas de figure ne sont pas testés. Votre code peut passer le test, mais certains bugs peuvent rester cachés...

Calcul du jour

Dans un second temps, utilisez l'algorithme du jour du jugement dernier pour déterminer le jour en fonction de la date.

Pour simplifier les tests, votre fonction de calcul devra se trouver dans le fichier doomsday/algorithm.py et se nommer get_day_for_date()

Comment tester ?

Comme pour la date, mais avec le fichier test-algorithm.py

Pour rendre ce TP

Merci de faire une Pull Request vers ce repository.

Le nom de la PR doit contenir votre nom et celui de votre collègue si vous êtes en binôme.

Vérifiez que votre code est conforme aux normes pep8 et aux autres critères de qualité dont nous avons parlé.

tp-doomsday-rule's People

Contributors

williamarnoclement avatar bcalou avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.