Crear Health Clock para programadores usando Python

En este artículo, crearemos un script de Python que cuide la salud de una persona, especialmente un programador. Le recordará al usuario beber agua, hacer ejercicio ocular y hacer ejercicio físico en diferentes intervalos de tiempo especificados. También llevará todo el registro de tiempo en que se realizan los ejercicios, se bebe agua, así como el número de ejercicios y la cantidad de agua tomada. Al final del programa, se mostrarán estadísticas completas junto con marcas de tiempo.

Acercarse:

  • Importaremos el mezclador desde el módulo pygame para reproducir nuestro sonido, el tiempo desde el módulo de tiempo para establecer el intervalo de tiempo y el módulo de suspensión desde el tiempo para congelar el programa durante un intervalo de tiempo respectivo.
  • Definiremos dos funciones : getdate() que devolverá la fecha y la hora actuales cuando se llame a la función, y musicloop() que reproducirá el archivo dado.
  • Después de eso, inicializaremos la variable agua, ejercicio ocular y ejercicio físico con la hora actual. Estamos haciendo esto para poder reproducir el sonido en el mismo intervalo de tiempo deseado.
  • Ahora, ejecutaremos un bucle while infinito que contendrá tres condiciones if (una para cada una, es decir, agua, ejercicio ocular y ejercicio físico).
  • En cada una de las condiciones, haremos lo mismo, es decir, llamar a la función musicloop() para reproducir música, pedirle al usuario que haga lo respectivo para detener la música y anotar el tiempo (de finalización del ejercicio) en un archivo para que pueda mostrarse por fin.
  • También incrementaremos el número de ejercicios y el valor del agua que bebimos para que podamos imprimirlo al final del programa.
  • Por último, estamos utilizando el manejo de archivos para mostrar todos los datos mencionados anteriormente.

A continuación se muestra la implementación.

Python3

# import required modules
from pygame import mixer
from time import time
from time import sleep
  
  
def getdate():
    
    # To get the current date and time 
    # at time of entry
    import datetime
    return (str(datetime.datetime.now()))
  
  
def musicloop(stopper):
    mixer.init()
    mixer.music.load("music.mp3")
      
    # playing the music provided i.e. music.mp3
    mixer.music.play()  
    while True:
        x = input(
            "Please type STOP to stop the alarm or EXIT to stop the program : ")
          
        # music termination condition.
        if (x.upper() == stopper):
            print("\nGreat! Get back to work:)\n")
            mixer.music.stop()
            return True
            break
          
        # program termination condition.
        elif (x.upper() == "EXIT"):
            return False
  
  
# variables initialized with 0 for counting total 
# number of exercises and water drank in a day
total_water = 0
total_physical_exercises = 0
total_eye_exercises = 0
  
if __name__ == '__main__':
    print("\n\t\t\t\tHey Programmer! This is your Health-Alarm-Clock\n")
    time_phy = time()
    time_drink = time()
    time_eyes = time()
  
    eyes_delay = 10  
    drink_delay = 20  
    phy_delay = 35  
  
    while(True):
          
        # Drink water condition.
        if (time() - time_drink > drink_delay):
            print("Hey! Please drink some water (at least 200 ml).")
  
            # Checking the user input so that music 
            # can be stopped.
            if(musicloop("STOP")):
                pass
            else:
                break
  
            # reinitializing the variable
            time_drink = time()
              
            # incrementing the value
            total_water += 200
              
            # opening the file and putting the data 
            # into that file
            f = open("drank.txt", "at")
            f.write("[ " + getdate() + " ] \n")
            f.close()
  
        # Eye exercise condition.
        if (time() - time_eyes > eyes_delay):
  
            print("Hey! Please do an Eye Exercise.")
  
            if (musicloop("STOP")):
                pass
            else:
                break
  
            time_eyes = time()
            total_eye_exercises += 1
            f = open("eye.txt", "at")
            f.write("[ " + getdate() + " ] \n")
            f.close()
  
        # Eye exercise condition.
        if (time() - time_phy > phy_delay):
            print("Hey! Please do a Physical Exercise.")
  
            if (musicloop("STOP")):
                pass
            else:
                break
  
            time_phy = time()
            total_physical_exercises += 1
            f = open("phy_exer.txt", "at")
            f.write("[ " + getdate() + " ] \n")
            f.close()
  
    print()
    print(f"Total water taken today : {total_water}.")
      
    try:
        f = open("drank.txt", "rt")
        print("\nDetails :")
        print(f.read())
        f.close()
    except:
        print("Details not found!")
  
    print(f"Total eye exercise done today : {total_eye_exercises}.")
      
    try:
        f = open("eye.txt", "rt")
        print("\nDetails :")
        print(f.read())
        f.close()
    except:
        print("Details not found!")
  
    print(f"Total physical exercises done today : {total_physical_exercises}.")
      
    try:
        f = open("phy_exer.txt", "rt")
        print("\nDetails :")
        print(f.read())
        f.close()
    except:
        print("Details not found!")
  
    sleep(5)

Producción:

Vídeo de demostración:

Publicación traducida automáticamente

Artículo escrito por imsushant12 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *