Bienvenido a la Comunidad de Treehouse
¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.
¿Buscas aprender algo nuevo?
Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de
Inicia tu prueba gratuita
Angelus Miculek
6,979 Puntosfeliz cumpleaños rubik
¡Estos desafíos fueron una excelente práctica!
Aquí están mis soluciones (mi respuesta al desafío 3 probablemente sea ineficiente, pero es lo suficientemente simple).
from dateutil import relativedelta
import datetime
from utils import no_s_if_1
def date_parser(persona):
format_string = "%Y-%m-%d"
cumpleaños_dt = datetime.datetime.strptime(persona['cumpleaños'], format_string)
return cumpleaños_dt
def diff_func(persona):
cumpleaños_dt = date_parser(persona)
ahora = datetime.datetime.ahora()
cumpleaños_este_año = cumpleaños_dt.replace(año=ahora.año)
diferencia = cumpleaños_este_año - ahora
return diferencia
def cumpleaños_próximos(lista_personas, days):
# TODO: escribir código que encuentre todos los próximos cumpleaños en los próximos 90 días
# 90 se pasa como parámetro desde menus.py
# Plantilla:
# PERSONA cumple EDAD en X días el MES DÍA
# PERSONA cumple EDAD en X días el MES DÍA
# print("Función de Cumpleaños Próximos")
# print(people_list)
# pass
sorted_bd_list =
sorted_person_list =
para persona en lista_personas:
diferencia = diff_func(persona)
sorted_bd_list.append(diferencia.days)
sorted_bd_list.ordenar()
para dif en sorted_bd_list:
para persona en lista_personas:
diferencia = diff_func(persona)
if diferencia.days == dif:
sorted_person_list.append(persona)
para persona en sorted_person_list:
cumpleaños_dt = date_parser(persona)
ahora = datetime.datetime.ahora()
cumpleaños_este_año = cumpleaños_dt.replace(año=ahora.año)
diferencia = cumpleaños_este_año - ahora
edad_cumplida = relativedelta.relativedelta(ahora, cumpleaños_dt).años + 1
if 0 <= diferencia.days <= days:
print(f"{person['name']} cumple {turning_age} en {no_s_if_1(difference.days, 'días')} el {birthday_this_year.strftime('%B %d')}")
if -365 <= diferencia.days <= -275:
hey = diferencia.days + 365
print(f"{person['name']} cumple {turning_age} en {no_s_if_1(hey, 'días')} el {birthday_this_year.strftime('%B %d')}")
print(sorted_bd_list)
# print(sorted_person_list)
# print(people_list)
def display_age(persona):
# TODO: escribir código para mostrar la edad de la persona
# Plantilla:
# PERSON tiene X años, X meses y X días de edad
cumpleaños_dt = date_parser(persona)
hoy = datetime.fecha.hoy()
diferencia = relativedelta.relativedelta(hoy, cumpleaños_dt)
print(f{person['name']} tiene {no_s_if_1(difference.years, 'años')}, {no_s_if_1(difference.months, 'meses')}, y {no_s_if_1(difference.days, 'días')} de edad)
# print(person)
# pass
def display_age_difference(people):
# TODO: escribir el código para mostrar la diferencia de edad entre personas
# Plantilla:
# PERSON es mayor
p0_dt = date_parser(people[0])
p1_dt = date_parser(people[1])
if p0_dt < p1_dt:
diferencia = relativedelta.relativedelta(p1_dt, p0_dt)
print(f{people[0]['name']} es mayor)
else:
diferencia = relativedelta.relativedelta(p0_dt, p1_dt)
print(f{people[1]['name']} es mayor)
# print(difference)
print(fLa diferencia de edad entre {people[0]['name']} y {people[1]['name']} es: {no_s_if_1(difference.years, 'años')}, {no_s_if_1(difference.months, 'meses')}, y {no_s_if_1(difference.days, 'días')})
# print(people)
# pass
¡Que tengas un excelente día!
1 Respuesta
Rohald van Merode
JavaScript Full Stack Estudiante de Techdegree 9.277 PuntosMe alegra saber que has disfrutado esta práctica adicional 😃
¡Gracias por compartir tu solución!