Soyez le premier à donner votre avis sur cette source.
Vue 18 328 fois - Téléchargée 587 fois
#Second_convert # -*- coding: utf-8 -*- #Python version 3.0 #Auteur: pyROM 29 dec 2008 #Licence: Copyleft #Description: un petit programme qui convertit un nombre entier de secondes fourni au départ, #en un nombre d'années, de mois, de jours, d'heures, de minutes et de secondes print("Convertisseur de secondes") print(" ") an,mois,jour,heure,minute,seconde=0,0,0,0,0,0 #définition des variables par défaut ordre = "ok" #valeur par défaut de 'ordre' while (ordre != "n"): #continuer l'exécution en boucle si on tape autre chose que 'n' (voir ligne 43) i=float(input("Entrez un nombre entier de secondes: ")) #saisit le nombre de secondes n=int(i) #convertit le nombre saisi en entier if(n>=60): minute=n//60 #calcule le nombre de minutes par division entière seconde=n%60 #calcule le nombre de secondes (le reste de la division entière) if(minute>=60): heure=minute//60 #calcule le nombre d'heures minute=minute%60 #retourne le reste en minutes if(heure>=24): jour=heure//24 #calcule le nombre de jours heure=heure%24 #retourne le reste en heures if(jour>=30): mois=jour//30 #calcule le nombre de mois jour=jour%30 #retourne le reste en jours if(mois>=12): an=mois//12 #calcule le nombre d'années mois=mois%12 #retourne le reste en mois else: an=0 #retourne 0 année si nombre de mois <12 else: mois=0 #retourne 0 mois si nombre de jours <30 else: jour=0 #retourne 0 jour si nombre d'heures <24 else: heure=0 #retourne 0 heure si nombre de minutes <60 else: minute=0 #retourne 0 minute si nombre de secondes <60 seconde=n #retourne le nombre de secondes print(an," année(s), ",mois," mois, ",jour," jour(s), ",heure," heure(s), ",minute," minute(s) et ",seconde," seconde(s).") an,mois,jour,heure,minute,seconde=0,0,0,0,0,0 #remise à zéro ordre = input("voulez-vous continuer ? n/o ") #demande si l'on souhaite quitter print("Merci")
h=0
mn=0
j=0
m=0
a=0
print("donner la valeur en seconde à convertir")
seconde = input()
s =int(seconde)
if (s>=60):
mn=s//60
s=s%60
if (mn>=60):
h=mn//60
mn=mn%60
if (h>=24):
j=h//24
h=h%24
if(j>=30):
m=j//30
j=j%30
if (m>=12):
a=m//12
m=m%12
print ( " la conversion donne ",s,"secondes",mn,"mininutes",h," heure",j,"jour",m,"mois",a,"annees")
Voilà ce que je propose :
print ("Ce programme convertit un nombre de secondes données en\nun nombre d'années, de mois, de jours, d'heures, de minutes, et de secondes\n")
a = input ("Entrez un nombre de secondes : ")
a = int (a)
b = (a%31536000)
c = (b%2628000)
d = (c%86400)
e = (d%3600)
print ("\nCelà correspond à", a//31536000, "année(s),",b//2628000, "mois,", c//86400, "jour(s),", d//3600, "heure(s),", e//60, "minute(s) et", e%60, "seconde(s)")
Une autre manière de faire ;)
c'est vraiment plus simple et élégant avec la notion de liste.
Merci et bon courage.
en plus court:
#! /usr/bin/env python
# -*- coding:utf-8 -*-
#prog servant à definir le nbr d'annees, mois, jours,...
#à partir d'un nbr de secondes donné
a=raw_input("entrer le nbr de secondes:")
i=b=c=0
temp=["années","mois","jours","heures","minutes","secondes"]
dure=["31536000","2628000","86400","3600","60","1"]
while (i<6):
c=float(a)/float(dure[i])
print int(c), temp[i]
b=int(a)%int(dure[i])
a=b
i=i+1
exit=raw_input("taper sur une touche pour sortir")
j'en suit moi aussi a ce niveau du bouquin.
bonne continuation.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.