Last active
April 10, 2016 01:44
-
-
Save ricardosiri68/ee1c96df7cb4896f41e2f39fc02b6e90 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from datetime import datetime | |
from collections import namedtuple | |
def read_data(): | |
'''gestiona la entrada de datos del usuario via el standar input''' | |
RawData = namedtuple('RawData', ('raw_date', 'raw_today')) | |
data = input("Ingrese fecha de nacimiento y fecha actual (dd/mm/yyyy)" | |
" separados por una coma:\n> ") | |
try: | |
return RawData(*data.split(',')) | |
except TypeError: | |
raise TypeError("Formato de entrada incorrecto: revise el modo en que" | |
" separa el nombre y la fecha del usuario") | |
def get_days_lapse(raw_date="", raw_today=""): | |
'''obtiene el lapso de tiempo en dias segun los datos del usuario''' | |
input_date_format = '%d/%m/%Y' | |
try: | |
today = datetime.strptime(raw_today.strip(), input_date_format) | |
user_date = datetime.strptime(raw_date.strip(), input_date_format) | |
except ValueError: | |
raise ValueError("Formato de fecha invalido") | |
assert today >= user_date, Exception("La fecha de nacimiento debe ser" | |
" anterior a la fecha actual") | |
return (today - user_date).days | |
if __name__ == '__main__': | |
print("Han pasado %(days)d días desde que nací... ya se!!! soy hermoso :3" % | |
{'days': get_days_lapse(*read_data())}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment