Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solución reto #38 Python #1378

Open
grisales54 opened this issue Oct 18, 2024 · 0 comments
Open

Solución reto #38 Python #1378

grisales54 opened this issue Oct 18, 2024 · 0 comments

Comments

@grisales54
Copy link

`# Importación de librerías necesarias
import pandas as pd # Para manejo de datos y lectura de Excel
from datetime import datetime # Para manejo de fechas
from dateutil.relativedelta import relativedelta # Para calcular diferencias entre fechas

Ruta al archivo Excel que contiene las fechas de lanzamiento

path = "zelda_games_release_dates.xlsx"

def read_excel(path):
"""
Función que lee un archivo Excel y convierte las fechas a objetos datetime
Args:
path: Ruta al archivo Excel
Returns:
diccionario: Diccionario con nombres de juegos como claves y fechas como valores
"""
# Lee el archivo Excel y lo convierte en DataFrame
df = pd.read_excel(path)

# Crea un diccionario usando comprensión de diccionario
# i[0] es el nombre del juego, i[1] es la fecha en formato string
# Convierte cada fecha string a objeto datetime
diccionario = {
    i[0]: datetime.strptime(i[1], "%d/%m/%Y") for i in df.values.tolist()
}

return diccionario

Ejecuta la función para cargar los datos

datos = read_excel(path)

Solicita al usuario ingresar los nombres de los juegos a comparar

primer = input("Ingrese el juego de Zelda: ")
segundo = input("Ingrese el segundo juego de Zelda: ")

Calcula la diferencia absoluta entre las fechas usando relativedelta

relativedelta permite obtener años y días de diferencia

diferencia = abs(relativedelta(datos[primer], datos[segundo]))

Imprime el resultado mostrando años y días de diferencia

print(f"El tiempo que tardo fue {diferencia.years} años y {diferencia.days} días")`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant