import gradio as gr def chequear_fecha(dias, meses, anios, imprimirdias): """formato: anio mes dia desde la creación""" #convierto inputs a integrales anios = int(anios) meses = int(meses) dias = int(dias) son_dias = round(anios*365.2422 + meses*29.53 + dias) nombre_dias = ['día 1', 'día 2', 'día 3', 'día 4', 'día 5', 'día 6', 'Shabbat'] index_dia = -1 salida_dias = "" #esto lo voy a mostrar como salida for dia in range(son_dias): index_dia += 1 if index_dia == 7: index_dia = 0 salto = "\n" else: salto = ", " nombre_dia = nombre_dias[index_dia] dia_actual = dia + 1 #imprimo solo lo que el usuario quiere if imprimirdias == 0 or dia >= (son_dias - imprimirdias): salida_dias += "{}{} > {}".format(salto, dia_actual, nombre_dia) salida_suma = "son días: " + str(son_dias) + ", correspondientes a {} años + {} meses + {} días desde la creación.".format(anios, meses, dias) salida_nota = "Los años se calcularon en base al ciclo solar de 365.2422 días, el mes/es ingresado se considera de 29.53 días según la órbita lunar.\n\n Si se considera que el inicio de año y mes fue el día 4to de la creación (cuando se creó la luna), entonces hay que agregar 3 días más como entrada para el cálculo." salida_sumaynota = salida_suma+"\n"+salida_nota return salida_dias[1:], salida_sumaynota #UI #iface = gr.Interface(fn=chequear_fecha, inputs=[gr.Textbox(label="Días:", value=0), gr.Textbox(label="Meses:", value=0), gr.Textbox(label="Años:", value=0), gr.Slider(label="Mostrar últimos días (cero muestra todo):", minimum=0, maximum=3000000, value=1, step=10)], outputs=[gr.Textbox(label="Resultados"), gr.Textbox(label="Nota:")]) with gr.Blocks() as iface: with gr.Row(): i_dias = gr.Number(label="Días:", value=0, elem_id="dias") i_meses = gr.Number(label="Meses:", value=0, elem_id="meses") i_anios = gr.Number(label="Años:", value=0, elem_id="anios") i_mostrar = gr.Slider(label="Mostrar últimos días (cero muestra todo):", minimum=0, maximum=3000000, value=1, step=10) with gr.Row(): bt_calcular = gr.Button("Calcular!") bt_limpiar = gr.Button("Limpiar") o_resultados = gr.Textbox(label="Resultados") o_notas = gr.Textbox(label="Nota:") bt_calcular.click(fn=chequear_fecha, inputs=[i_dias, i_meses, i_anios, i_mostrar], outputs=[o_resultados, o_notas]) iface.launch()