Prompt Title: Python Function: Rango_Fechas()

Created 1 year ago
Votes 0
Views 366 times
0

Prompt Detail:

Hola chat gpt. Actúa como un experto en Python y a partir del código de la agenda del día que te listo a continuación, escríbeme una nueva función llamada "rango_fechas()" para que liste sólo aquellas tareas del trabajo que estén dentro de un rango de fechas solicitado al usuario. La forma de que la función pida el rango de fechas es mediante la siguiente frase "Ingrese la fecha de Inicio" y luego "Ingrese la fecha final". La presentación en pantalla mostrará las tareas del trabajo en ese rango de fechas incluyendo las fecha de inicio y de final. La función "rango_fechas()" debe listar solamente las tareas del trabajo. Las tareas del trabajo se identifican en el archivo "TareasDelDia.txt" mediante la variable "estado", que en ese caso comienzan con la cadena de caracteres "P T -". Quiero que escribas la función "rango_fechas()" de manera que solo pueda listar las tareas del archivo cuyo estado comienza con "P T -", manteniendo el resto de las características que te solicité anteriormente. Escríbela sin errores y en forma que pueda insertarla en el código general. NO quiero que escribas el código del sofware completo, quiero que escribas solamente el código de la función "rango_fechas()", sin errores y para que haga exactamente lo que te he pedido, de manera que pueda incluirla en el código completo de la agenda. No escribas el código completo de la agenda, sólo la función "rango_fechas()". Este es el software completo en el que te debes basar: from datetime import datetime import pyautogui as key def main_menu(): print("\n\n------------------------------------ ") print(" Bienvenido a la agenda de tareas ") print("------------------------------------ ") print(" ") print("1. Ingresar una NUEVA TAREA") print("2. Editar una TAREA INGRESADA") print("3. Listar Tareas Pendientes del TRABAJO") print("4. Listar Tareas Pendientes PERSONALES") print("5. Listar TODAS las Tareas") print("6. Borrar UNA TAREA") print("7. ChatGPT") print("8. APAGAR") print(" ") try: option = int(input("Ingrese la opción deseada: ")) print(" ") return option except ValueError: print("Por favor, ingrese un número válido.\n") return main_menu() def apagar(): key.keyDown('ctrl') key.keyDown('alt') key.keyDown('shift') key.keyDown('9') key.keyUp('9') key.keyUp('shift') key.keyUp('alt') key.keyUp('ctrl') def ingresar_tarea(): titulo = input("Ingrese el título de la tarea: ") fecha = input("Ingrese la fecha de la tarea (en formato dd/mm/aaaa): ") hora = input("Ingrese la hora de la tarea (en formato hh:mm): ") estado = input("Ingrese el estado de la tarea: ") with open("TareasDelDia.txt", "a") as archivo: archivo.write(f"{titulo}, {fecha}, {hora}, {estado}\n") print("La tarea ha sido guardada con éxito.") def editar_tarea(): tareas = [] with open("TareasDelDia.txt", "r") as archivo: for linea in archivo: campos = linea.strip().split(", ") tareas.append(campos) if len(tareas) == 0: print("No hay tareas ingresadas.") return print("Tareas:") print("-------\n") for i in range(len(tareas)): print(f"{i+1}. {tareas[i][0]} - {tareas[i][1]} - {tareas[i][2]} - {tareas[i][3]}") tarea = input("Ingrese el número de la tarea a editar: ") while not tarea.isdigit() or int(tarea) < 1 or int(tarea) > len(tareas): tarea = input("Ingrese un número de tarea válido: ") tarea = int(tarea) - 1 nuevo_titulo = input("Ingrese el nuevo título de la tarea: ") nueva_fecha = input("Ingrese la nueva fecha de la tarea (en formato dd/mm/aaaa): ") nueva_hora = input("Ingrese la nueva hora de la tarea (en formato hh:mm): ") nuevo_estado = input("Ingrese el nuevo estado de la tarea: ") tareas[tarea][0] = nuevo_titulo tareas[tarea][1] = nueva_fecha tareas[tarea][2] = nueva_hora tareas[tarea][3] = nuevo_estado with open("TareasDelDia.txt", "w") as archivo: for tarea in tareas: archivo.write(", ".join(tarea) + "\n") print("La tarea ha sido editada con éxito.") def visualizar_tareas(): tareas = [] with open("TareasDelDia.txt", "r") as archivo: for linea in archivo: campos = linea.strip().split(", ") tareas.append(campos) if len(tareas) == 0: print("No hay tareas ingresadas.") return tareas_ordenadas = sorted(tareas, key=lambda tarea: datetime.strptime(tarea[1], "%d/%m/%Y")) print("LISTA DE TODAS LAS TAREAS:") print("-------\n") for i in range(len(tareas_ordenadas)): print(f"{i+1}. {tareas_ordenadas[i][0]}") print(" Fecha:") fecha = tareas_ordenadas[i][1] while fecha: if len(fecha) <= 50: print(f" {fecha}") break else: print(f" {fecha[:50]}") fecha = fecha[50:] print(" Hora:") hora = tareas_ordenadas[i][2] while hora: if len(hora) <= 50: print(f" {hora}") break else: print(f" {hora[:50]}") hora = hora[50:] print(" Estado:") estado = tareas_ordenadas[i][3] while estado: if len(estado) <= 50: print(f" {estado}") break else: print(f" {estado[:50]}") estado = estado[50:] print(" ") def pendientes_trabajo(): tareas = [] with open("TareasDelDia.txt", "r") as archivo: for linea in archivo: campos = linea.strip().split(", ") tareas.append(campos) if len(tareas) == 0: print("No hay tareas ingresadas.") return tareas_pendientes = [tarea for tarea in tareas if tarea[3].startswith("P T ")] if len(tareas_pendientes) == 0: print("No hay tareas pendientes pertenecientes al TRABAJO.") return tareas_ordenadas = sorted(tareas_pendientes, key=lambda tarea: datetime.strptime(tarea[1], "%d/%m/%Y")) print("\n\n\nLISTA DE TAREAS DEL TRABAJO PENDIENTES :") print("---------------------------\n") for i in range(len(tareas_ordenadas)): print(f"{i+1}. {tareas_ordenadas[i][0]}") print(" Fecha:") fecha = tareas_ordenadas[i][1] while fecha: if len(fecha) <= 50: print(f" {fecha}") break else: print(f" {fecha[:50]}") fecha = fecha[50:] print(" Hora:") hora = tareas_ordenadas[i][2] while hora: if len(hora) <= 50: print(f" {hora}") break else: print(f" {hora[:50]}") hora = hora[50:] print(" Estado:") estado = tareas_ordenadas[i][3] while estado: if len(estado) <= 50: print(f" {estado}") break else: print(f" {estado[:50]}") estado = estado[50:] print(" ") def pendientes_personales(): tareas = [] with open("TareasDelDia.txt", "r") as archivo: for linea in archivo: campos = linea.strip().split(", ") tareas.append(campos) if len(tareas) == 0: print("No hay tareas ingresadas.") return tareas_pendientes = [tarea for tarea in tareas if tarea[3].startswith("P P ")] if len(tareas_pendientes) == 0: print("No hay tareas pendientes del tipo PERSONAL.") return tareas_ordenadas = sorted(tareas_pendientes, key=lambda tarea: datetime.strptime(tarea[1], "%d/%m/%Y")) print("\n\n\nLISTA DE TAREAS PERSONALES PENDIENTES:") print("---------------------------\n") for i in range(len(tareas_ordenadas)): print(f"{i+1}. {tareas_ordenadas[i][0]}") print(" Fecha:") fecha = tareas_ordenadas[i][1] while fecha: if len(fecha) <= 50: print(f" {fecha}") break else: print(f" {fecha[:50]}") fecha = fecha[50:] print(" Hora:") hora = tareas_ordenadas[i][2] while hora: if len(hora) <= 50: print(f" {hora}") break else: print(f" {hora[:50]}") hora = hora[50:] print(" Estado:") estado = tareas_ordenadas[i][3] while estado: if len(estado) <= 50: print(f" {estado}") break else: print(f" {estado[:50]}") estado = estado[50:] print(" ") def chatgpt(): print("Ingresando a los temas de Estudio.") key.keyDown('ctrl') key.keyDown('alt') key.keyDown('shift') key.keyDown('L') key.keyUp('L') key.keyUp('alt') key.keyUp('shift') key.keyUp('ctrl') def borrar_tarea(): tareas = [] with open("TareasDelDia.txt", "r") as archivo: for linea in archivo: campos = linea.strip().split(", ") tareas.append(campos) if len(tareas) == 0: print("No hay tareas ingresadas.") return print("Tareas:") print("-------\n") for i in range(len(tareas)): print(f"{i+1}. {tareas[i][0]} - {tareas[i][1]} - {tareas[i][2]} - {tareas[i][3]}") tarea_a_borrar = int(input("Ingrese el número de la tarea que desea borrar: ")) if tarea_a_borrar < 1 or tarea_a_borrar > len(tareas): print("El número de tarea ingresado no es válido.") return tarea_borrada = tareas.pop(tarea_a_borrar - 1) with open("TareasDelDia.txt", "w") as archivo: for tarea in tareas: archivo.write(", ".join(tarea) + "\n") print(f"La tarea \"{tarea_borrada[0]}\" ha sido eliminada exitosamente.") def main(): while True: opcion = main_menu() if opcion == 1: ingresar_tarea() elif opcion == 2: editar_tarea() elif opcion == 3: pendientes_trabajo() elif opcion == 4: pendientes_personales() elif opcion == 5: visualizar_tareas() elif opcion == 6: borrar_tarea() elif opcion == 7: chatgpt() elif opcion == 8: apagar() else: print("Opción inválida. Por favor, ingrese un número entre 1 y 5.") continue if __name__ == '__main__': main()
avatar
Sergio
Shared 2 prompts
Created 1 year ago

Leave a Comment

Related Tag Prompts

0
0
Week 1
1 year ago 2023-04-23 21:16:39 Justin Sieffert
0
0
weekly schedule
9 months ago 2024-01-22 13:45:47 Amir