Convertisseur de secondes

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.
(Réponse proposée à l'exercice 4.6. page 41 de l'ouvrage de Gérard Swinnen: Apprendre à programmer avec Python.)

Source / Exemple :


#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")

Conclusion :


C'est mon premier script en Python (un language que je suis encore en train de découvrir). J'espère qu'il n'est pas trop compliqué.

Codes Sources

A voir également

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.