Calendrier

Question 1

  • Les années bissextiles sont les années divisibles par 4 ;

  • Exception : Les années divisibles par 100 ne sont pas bissextiles ;

  • Exception à l'exception : Les années divisibles par 400 sont bissextiles.

Écrire et tester la fonction bissextile.

In [ ]:
def bissextile(n):
    """ Retourne True si l'année n est bissextile.
        Retourne False sinon.
    """
    ### À COMPLÉTER
    
print(bissextile(2015))
print(bissextile(2016))
print(bissextile(1900))
print(bissextile(2000))

Question 2

Sachant que le premier janvier 2013 est tombé un mardi, écrire la fonction jour_de_lan.

In [ ]:
def jour_de_lan(n):
    """ Retourne le numéro de la semaine qui correspond 
        au 1er janvier de l'année n.
        0 -> lundi
        1 -> mardi
        ...
        6 -> dimanche
    """
    ### À COMPLÉTER

Le programme cal permet d'afficher un calendrier sur la sortie standard :

In [ ]:
!cal janvier 1917
    Janvier 1917      
di lu ma me je ve sa  
    1  2  3  4  5  6  
 7  8  9 10 11 12 13  
14 15 16 17 18 19 20  
21 22 23 24 25 26 27  
28 29 30 31           
                      

Question 3

Tester votre fonction jour_de_lan en vérifiant la réponse à l'aide du programme cal.

In [ ]:
 

Question 4

Écrire le code de la fonction jour_semaine.

In [ ]:
def jour_semaine(jour, mois, annee):
    """ Retourne le numéro de la semaine qui correspond
        à la date jour/mois/annee.
    """
    ### À COMPLÉTER

Question 5

Tester vote fonction jour_semaine en vérifiant avec le programme cal.

In [ ]:
 

Sur les systèmes Linux, le timestamp est le nombre de secondes écoulées depuis le 1er janvier 1970 à 0h00. La fonction time du module python time donne le timestamp courant.

In [ ]:
from time import time

time()
Out[ ]:
1483899046.221362

Question 6

Écrire une fonction date(timestamp) qui retourne la date et l'heure GMT correspondant au timestamp.

Par exemple si le code ci-dessous est exécuté le 9 janvier 2017 à 16h 34' 29'' GMT :

from time import time
timestamp = time()
date(timestamp)

alors la valeur retournée sera (2017, 1, 9, 16, 34, 29).

In [ ]: