123 lines
3.7 KiB
Python
123 lines
3.7 KiB
Python
|
# PREUD'HOMME BONTOUX Geoffrey - PeiP 12 - 2014/2015
|
|||
|
# TP n°2 donné le 19/09/2014 - Votre âge en secondes
|
|||
|
# http://www.fil.univ-lille1.fr/~wegrzyno/portail/Info/Doc/HTML/tp_donnees_expressions.html
|
|||
|
|
|||
|
# Q1
|
|||
|
ref_an = 1900
|
|||
|
ref_mois = 1
|
|||
|
ref_jour = 1
|
|||
|
|
|||
|
# Q2
|
|||
|
nbre_sec_jour = 24 * 60 * 60
|
|||
|
|
|||
|
# Q3
|
|||
|
nbre_sec_an = 365.2425 * nbre_sec_jour
|
|||
|
|
|||
|
# Q4
|
|||
|
nbre_sec_mois = nbre_sec_an / 12
|
|||
|
|
|||
|
# Q5
|
|||
|
aujourdhui_jour = 19
|
|||
|
aujourdhui_mois = 9
|
|||
|
aujourdhui_an = 2014
|
|||
|
|
|||
|
# Q6
|
|||
|
nbre_an_entre_1900_et_aujourdhui = aujourdhui_an - ref_an
|
|||
|
nbre_mois_entre_1900_et_aujourdhui = aujourdhui_mois - ref_mois
|
|||
|
nbre_jour_entre_1900_et_aujourdhui = aujourdhui_jour - ref_jour
|
|||
|
nbre_sec_entre_1900_et_aujourdhui = \
|
|||
|
nbre_an_entre_1900_et_aujourdhui * nbre_sec_an \
|
|||
|
+ nbre_mois_entre_1900_et_aujourdhui * nbre_sec_mois \
|
|||
|
+ nbre_jour_entre_1900_et_aujourdhui * nbre_sec_jour
|
|||
|
|
|||
|
print("Q6", "Secondes entre la date de référence et aujourd’hui :", \
|
|||
|
nbre_sec_entre_1900_et_aujourdhui)
|
|||
|
|
|||
|
# Q7
|
|||
|
naissance_jour = 14
|
|||
|
naissance_mois = 2
|
|||
|
naissance_an = 1997
|
|||
|
|
|||
|
nbre_an_entre_1900_et_naissance = naissance_an - ref_an
|
|||
|
nbre_mois_entre_1900_et_naissance = naissance_mois - ref_mois
|
|||
|
nbre_jour_entre_1900_et_naissance = naissance_jour - ref_jour
|
|||
|
nbre_sec_entre_1900_et_naissance = \
|
|||
|
nbre_an_entre_1900_et_naissance * nbre_sec_an \
|
|||
|
+ nbre_mois_entre_1900_et_naissance * nbre_sec_mois \
|
|||
|
+ nbre_jour_entre_1900_et_naissance * nbre_sec_jour
|
|||
|
|
|||
|
|
|||
|
# Q8
|
|||
|
mon_age_en_secondes = \
|
|||
|
nbre_sec_entre_1900_et_aujourdhui - nbre_sec_entre_1900_et_naissance
|
|||
|
print("Q8", "Mon âge en secondes :", mon_age_en_secondes)
|
|||
|
|
|||
|
# Q9
|
|||
|
def nbre_sec_depuis_1900(jour, mois, an):
|
|||
|
"""
|
|||
|
Calcule le nombre approximatif de secondes écoulées entre la date de
|
|||
|
référence (le 1er janvier 1900) à 0h00 et la date passée en paramètre
|
|||
|
|
|||
|
CU : jour entier ; 1 ≤ jour ≤ 31 ; mois entier ; 1 ≤ mois ≤ 12 ;
|
|||
|
an entier ; an ≥ 1900 ; la date doit avant aujourd'hui
|
|||
|
|
|||
|
Exemple :
|
|||
|
|
|||
|
>>> nbre_sec_depuis_1900(14, 2, 1997)
|
|||
|
3064777290.0
|
|||
|
"""
|
|||
|
nbre_jour_entre_1900_et_date = jour - ref_jour
|
|||
|
nbre_mois_entre_1900_et_date = mois - ref_mois
|
|||
|
nbre_an_entre_1900_et_date = an - ref_an
|
|||
|
nbre_sec_entre_1900_et_date = \
|
|||
|
nbre_an_entre_1900_et_date * nbre_sec_an \
|
|||
|
+ nbre_mois_entre_1900_et_date * nbre_sec_mois \
|
|||
|
+ nbre_jour_entre_1900_et_date * nbre_sec_jour
|
|||
|
return nbre_sec_entre_1900_et_date
|
|||
|
|
|||
|
# Q10
|
|||
|
mon_age_en_secondes = \
|
|||
|
nbre_sec_depuis_1900(aujourdhui_jour, aujourdhui_mois, aujourdhui_an) \
|
|||
|
- nbre_sec_depuis_1900(naissance_jour, naissance_mois, naissance_an)
|
|||
|
print("Q10", "Mon âge en secondes (via nbre_sec_depuis_1900) :", \
|
|||
|
mon_age_en_secondes)
|
|||
|
|
|||
|
# Q11
|
|||
|
from datetime import *
|
|||
|
|
|||
|
aujourdhui = date.today()
|
|||
|
|
|||
|
aujourdhui_jour = aujourdhui.day
|
|||
|
aujourdhui_mois = aujourdhui.month
|
|||
|
aujourdhui_an = aujourdhui.year
|
|||
|
|
|||
|
mon_age_en_secondes = \
|
|||
|
nbre_sec_depuis_1900(aujourdhui_jour, aujourdhui_mois, aujourdhui_an) \
|
|||
|
- nbre_sec_depuis_1900(naissance_jour, naissance_mois, naissance_an)
|
|||
|
print("Q11", "Mon âge en secondes (via datetime) :", \
|
|||
|
mon_age_en_secondes)
|
|||
|
|
|||
|
|
|||
|
# Q12
|
|||
|
def age_en_secondes(jour, mois, an):
|
|||
|
"""
|
|||
|
Calcule le nombre approximatif de secondes écoulées depuis la date passée
|
|||
|
en paramètre.
|
|||
|
|
|||
|
CU : jour entier ; 1 ≤ jour ≤ 31 ; mois entier ; 1 ≤ mois ≤ 12 ;
|
|||
|
an entier ; an ≥ 1900 ; la date doit avant aujourd'hui
|
|||
|
|
|||
|
Exemple (si nous sommes le 19/09/2014) :
|
|||
|
|
|||
|
>>> age_en_secondes(14, 2, 1997)
|
|||
|
555308406.0
|
|||
|
"""
|
|||
|
ajd = date.today()
|
|||
|
return nbre_sec_depuis_1900(ajd.day, ajd.month, ajd.year) \
|
|||
|
- nbre_sec_depuis_1900(jour, mois, an)
|
|||
|
|
|||
|
mon_age_en_secondes = \
|
|||
|
age_en_secondes(naissance_jour, naissance_mois, naissance_an)
|
|||
|
print("Q12", "Mon âge en secondes (via age_en_secondes) :", \
|
|||
|
mon_age_en_secondes)
|