« Ex 4.6 » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(Une version intermédiaire par un autre utilisateur non affichée) | |||
Ligne 1 : | Ligne 1 : | ||
==Énoncé de l'exercice :== | |||
Écrivez un programme qui convertit un nombre entier de secondes fourni au départ en | |||
un nombre d’années, de mois, de jours, de minutes et de secondes (utilisez l’opérateur | |||
modulo : %). | |||
==Solutions de cet exercices :== | ==Solutions de cet exercices :== | ||
* Solution de Cyril Dewez : | * Solution de Cyril Dewez : |
Dernière version du 4 avril 2011 à 13:32
Énoncé de l'exercice :[modifier]
Écrivez un programme qui convertit un nombre entier de secondes fourni au départ en un nombre d’années, de mois, de jours, de minutes et de secondes (utilisez l’opérateur modulo : %).
Solutions de cet exercices :[modifier]
- Solution de Cyril Dewez :
nbsec=int(input("Entrez un nombre de secondes et vous verez ... ")) nbans=nbsec//31104000 #le chiffre c'est le nombre de seconde dans un an resteans=nbsec%31104000 print(nbans, end=(" Année(s), ")) nbmois=resteans//2592000 restemois=resteans%2592000 print(nbmois, end=(" Mois, ")) nbjour=restemois//86400 restejour=restemois%86400 print(nbjour, end=(" Jour(s), ")) nbheure=restejour//3600 resteheure=restejour%3600 print(nbheure, end=(" Heure(s), ")) nbminute=resteheure//60 resteminute=resteheure%60 print(nbminute, end=(" Minute(s), ")) print(resteminute, end=(" Seconde(s)."))
- Solution de Gérard Swinnen :
# Le nombre de secondes est fourni au départ : # (un grand nombre s'impose !) nsd = 12345678912 # Nombre de secondes dans une journée : nspj = 3600 * 24 # Nombre de secondes dans un an (soit 365 jours - # on ne tiendra pas compte des années bissextiles) : nspa = nspj * 365 # Nombre de secondes dans un mois (en admettant # pour chaque mois une durée identique de 30 jours) : nspm = nspj * 30 # Nombre d'années contenues dans la durée fournie : na = nsd // nspa # division <entière> nsr = nsd % nspa # n. de sec. restantes # Nombre de mois restants : nmo = nsr // nspm # division <entière> nsr = nsr % nspm # n. de sec. restantes # Nombre de jours restants : nj = nsr // nspj # division <entière> nsr = nsr % nspj # n. de sec. restantes # Nombre d'heures restantes : nh = nsr // 3600 # division <entière> nsr = nsr % 3600 # n. de sec. restantes # Nombre de minutes restantes : nmi = nsr // 60 # division <entière> nsr = nsr % 60 # n. de sec. restantes print("Nombre de secondes à convertir :", nsd) print("Cette durée correspond à", na, "années de 365 jours, plus") print(nmo, "mois de 30 jours,", end=' ') print(nj, "jours,", end=' ') print(nh, "heures,", end=' ') print(nmi, "minutes et", end=' ') print(nsr, "secondes.")