En este artículo, vamos a crear un software de gestión de tareas en Python. Este software va a ser muy útil para aquellos que no quieren cargar con qué tarea han hecho y cuáles les quedan. Al ser un codificador, debemos tener en cuenta qué competencia se está llevando a cabo, en qué cursos estamos inscritos, qué lista de reproducción de YouTube estamos siguiendo, etc. Este software mantendrá la cuenta de todos esos detalles de manera segura para que solo usted tenga acceso a sus datos.
Herramientas y Tecnologías Utilizadas en el Proyecto:
- Este proyecto va a ser muy amigable para los principiantes.
- El funcionamiento de este software es completamente POP (Programación Orientada a Procedimientos). Se necesitan conocimientos básicos sobre las funciones de python.
- Módulo de fecha y hora de python.
Conjunto de habilidades requeridas para construir el proyecto:
- Python
- Visual Studio Code o cualquier otro editor de código.
Implementación paso a paso:
Siga los pasos a continuación para implementar un administrador de tareas personalizado usando Python:
- Paso 1: Cree un nombre de carpeta ‘Administrador de tareas’. Ábrelo en tu editor de código favorito.
- Paso 2: Cree un archivo python con el nombre ‘task_manager.py’.
- Paso 3: Ahora estamos listos para codificar nuestro software. Inicialmente, comenzaremos creando nuestra función de registro. La función de registro tomará el nombre de usuario con el que el usuario creará su cuenta y le pedirá que establezca una contraseña para esa cuenta. El siguiente código aclarará las cosas.
Python3
def signup(): print("Please enter the username by which you \ wanna access your account") username = input("please enter here: ") password = input("Enter a password: ")
- Paso 4: Ahora crearemos una función de ‘información de usuario’ que tomará los datos de la función de ‘registro’ y creará un archivo de texto para guardar los datos del usuario. El siguiente código mostrará cómo procederán las cosas.
Python3
# pssd means password, ussnm is username def user_information(ussnm, pssd): name = input("enter your name please: ") address = input("your address") age = input("Your age please") ussnm_ = ussnm+" task.txt" f = open(ussnm_, 'a') f.write(pssd) f.write("\nName: ") f.write(name) f.write('\n') f.write("Address :") f.write(address) f.write('\n') f.write("Age :") f.write(age) f.write('\n') f.close() def signup(): print("Please enter the username by which you\ wanna access your account") username = input("please enter here: ") password = input("Enter a password: ") user_information(username, password)
- Paso 5: Una vez que la función user_information crea el archivo de texto , es hora de codificar nuestra función de inicio de sesión. La función de inicio de sesión tomará el nombre de usuario y le pedirá la contraseña conectada a él. Una vez que el usuario ingresa la contraseña, la función verificará si la contraseña guardada en el archivo de texto es la misma que la ingresada. El código puede explicar con mayor precisión,
Python3
def login(): print("Please enter your username ") user_nm = input("Enter here: ") # Password as entered while logging in pssd_wr = (input("enterr the password"))+'\n' try: usernm = user_nm+" task.txt" f_ = open(usernm, 'r') # variable 'k' contains the password as saved # in the file k = f_.readlines(0)[0] f_.close() # Checking if the Password entered is same as # the password saved while signing in if pssd_wr == k: print( "1--to view your data \n2--To add task \n3--Update\ task status \n4--View task status") a = input() else: print("SIR YOUR PASSWORD OR USERNAME IS WRONG , Plz enter Again") login() except Exception as e: print(e) login()
- Paso 6: En este paso, nos aseguraremos de que después de que el usuario inicie sesión, podamos pedirle que inicie sesión en su cuenta. Esto se puede hacer llamando a la función de inicio de sesión al final de la función de inicio de sesión. Por lo tanto, la función de inicio de sesión se verá como
Python3
def signup(): print("Please enter the username by which you wanna access your account") username = input("please enter here: ") password = input("Enter a password: ") user_information(username, password) print("Sir please proceed towards log in") login()
- Paso 7: completemos las cuatro funciones importantes que se mencionan en el bloque ‘iniciar sesión’. A saber, función para ver datos, función para agregar una tarea a los datos, función para actualizar el estado de la tarea y función para ver el estado de la tarea. En este paso, vamos a completar la función ‘iniciar sesión’ completando la parte if-else después de ingresar la demanda del usuario, es decir, la entrada a la variable a. Consulte el siguiente código:
Python3
def login(): print("Please enter your username ") user_nm = input("Enter here: ") # Password as entered while logging in pssd_wr = (input("enterr the password"))+'\n' try: usernm = user_nm+" task.txt" f_ = open(usernm, 'r') # variable 'k' contains the password as # saved in the file k = f_.readlines(0)[0] f_.close() # Checking if the Password entered is same # as the password saved while signing in if pssd_wr == k: print( "1--to view your data \n2--To add task \n3--Update\ task \n4--VIEW TASK STATUS") a = input() if a == '1': view_data(usernm) elif a == '2': # add task task_information(usernm) elif a == '3': task_update(user_nm) elif a == '4': task_update_viewer(user_nm) else: print("Wrong input ! ") else: print("SIR YOUR PASSWORD OR USERNAME IS WRONG") login() except Exception as e: print(e) login() def view_data(username): pass def task_information(username): pass def task_update(username): pass def task_update_viewer(username): pass
Como puede ver, el comando pass se usa para permitirnos escribir el nombre de la función y el argumento sin el cuerpo de la función y también evitar el mensaje de error en el editor de código.
- Paso 8: Vamos a codificar el bloque de datos de vista.
Python3
def view_data(username): ff = open(username, 'r') print(ff.read()) ff.close()
- Paso 9: para codificar el bloque de información de la tarea, debemos tener en cuenta los conceptos básicos del manejo de texto en python. Le preguntaremos al usuario cuántas tareas quiere agregar y, según su deseo, repetiremos un ciclo tantas veces y le pediremos que ingrese su tarea y el objetivo por el cual quiere terminar la tarea.
Python3
def task_information(username): print("Sir enter n.o of task you want to ADD") j = int(input()) f1 = open(username, 'a') for i in range(1, j+1): task = input("enter the task") target = input("enter the target") pp = "TASK "+str(i)+' :' qq = "TARGET "+str(i)+" :" f1.write(pp) f1.write(task) f1.write('\n') f1.write(qq) f1.write(target) f1.write('\n') print("Do u want to stop press space bar otherwise enter") s = input() if s == ' ': break f1.close()
Tenga en cuenta que hemos agregado un mensaje de que si el usuario desea dejar de agregar una tarea antes de la cantidad de veces que deseaba, entonces tendrá una oportunidad. Esto hace que el programa sea muy fácil de usar.
- Paso 10: Actualizar el estado de la tarea se basa en el concepto similar de manejo de texto en python. Lo que haremos es guardar qué número de tarea se completó, cuál está en curso y cuál aún no se inició con una marca de fecha y hora con ellos. Esa parte del archivo de texto se verá como,
2021-06-01 14:44:02.851506 COMPLETED TASK 1,3,4 ONGOING TASK 2 NOT YET STARTED 5
Python3
def task_update(username): username = username+" TASK.txt" print("Please enter the tasks which are completed ") task_completed = input() print("Enter task which are still not started by you") task_not_started = input() print("Enter task which you are doing") task_ongoing = input() fw = open(username, 'a') DT = str(datetime.datetime.now()) fw.write(DT) fw.write("\n") fw.write("COMPLETED TASK \n") fw.write(task_completed) fw.write("\n") fw.write("ONGOING TASK \n") fw.write(task_ongoing) fw.write("\n") fw.write("NOT YET STARTED\n") fw.write(task_not_started) fw.write("\n")
- Paso 11: Ahora nos queda la función de visor de actualización de tareas. Esta función es tan simple como la función ‘view_data’.
Python3
def task_update_viewer(username): ussnm = username+" TASK.txt" o = open(ussnm, 'r') print(o.read()) o.close()
Esto pone al final del programa. Pero antes de terminar, la tarea más importante que aún queda es codificar la función principal y controlar el flujo de comando del programa desde la función principal misma.
- Paso 12: La función principal.
Python3
if __name__ == '__main__': print("WELCOME TO ANURAG`S TASK MANAGER") print("sir are you new to this software") a = int(input("Type 1 if new otherwise press 0 ::")) if a == 1: signup() elif a == 0: login() else: print("You have provided wrong input !")
Esto marca el final del código. Debe intentar hacer los cambios adecuados en este código para que el software se vuelva más hermoso.
Código fuente:
Python3
import datetime # pssd means password, ussnm is username def user_information(ussnm, pssd): name = input("enter your name please: ") address = input("your address") age = input("Your age please") ussnm_ = ussnm+" task.txt" f = open(ussnm_, 'a') f.write(pssd) f.write("\nName: ") f.write(name) f.write('\n') f.write("Address :") f.write(address) f.write('\n') f.write("Age :") f.write(age) f.write('\n') f.close() def signup(): print("Please enter the username by which you wanna access your account") username = input("please enter here: ") password = input("Enter a password: ") user_information(username, password) print("Sir please proceed towards log in") login() def login(): print("Please enter your username ") user_nm = input("Enter here: ") # Password as entered while logging in pssd_wr = (input("enterr the password"))+'\n' try: usernm = user_nm+" task.txt" f_ = open(usernm, 'r') # variable 'k' contains the password as saved # in the file k = f_.readlines(0)[0] f_.close() # Checking if the Password entered is same as # the password saved while signing in if pssd_wr == k: print( "1--to view your data \n2--To add task \n3--Update\ task \n4--VIEW TASK STATUS") a = input() if a == '1': view_data(usernm) elif a == '2': # add task task_information(usernm) elif a == '3': task_update(user_nm) elif a == '4': task_update_viewer(user_nm) else: print("Wrong input ! bhai dekh kr input dal") else: print("SIR YOUR PASSWORD OR USERNAME IS WRONG") login() except Exception as e: print(e) login() def view_data(username): ff = open(username, 'r') print(ff.read()) ff.close() def task_information(username): print("Sir enter n.o of task you want to ADD") j = int(input()) f1 = open(username, 'a') for i in range(1, j+1): task = input("enter the task") target = input("enter the target") pp = "TASK "+str(i)+' :' qq = "TARGET "+str(i)+" :" f1.write(pp) f1.write(task) f1.write('\n') f1.write(qq) f1.write(target) f1.write('\n') print("Do u want to stop press space bar otherwise enter") s = input() if s == ' ': break f1.close() def task_update(username): username = username+" TASK.txt" print("Please enter the tasks which are completed ") task_completed = input() print("Enter task which are still not started by you") task_not_started = input() print("Enter task which you are doing") task_ongoing = input() fw = open(username, 'a') DT = str(datetime.datetime.now()) fw.write(DT) fw.write("\n") fw.write("COMPLETED TASK \n") fw.write(task_completed) fw.write("\n") fw.write("ONGOING TASK \n") fw.write(task_ongoing) fw.write("\n") fw.write("NOT YET STARTED\n") fw.write(task_not_started) fw.write("\n") def task_update_viewer(username): ussnm = username+" TASK.txt" o = open(ussnm, 'r') print(o.read()) o.close() if __name__ == '__main__': print("WELCOME TO ANURAG`S TASK MANAGER") print("sir are you new to this software") a = int(input("Type 1 if new otherwise press 0 ::")) if a == 1: signup() elif a == 0: login() else: print("You have provided wrong input !")
Producción:
Mira cómo aparece la parte de inicio de sesión para el usuario:
Un usuario registrado operará este software como:
Aplicación de proyectos en la vida real
- Esto es muy útil para que un estudiante lleve la cuenta de su tarea o tarea y su fecha límite de finalización.
- Esto es muy útil para que los alumnos tengan en cuenta lo que aprenderán y el recurso.
Publicación traducida automáticamente
Artículo escrito por anuragnayak y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA