Mundo em Python

Frequência Cardíaca em Repouso por Idade

from tkinter import *

root = Tk()
root.geometry("800x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Frequência Cardíaca Normal em Repouso por Idade") # Título
titulo = Label(text="Frequência Cardíaca Normal em Repouso por Idade",
font=("Arial", "22", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05) # Subtítulos
texto_sub1 = Label(text="Frequência Cardíaca (batimentos por minuto - bpm):",
font=("Arial", "16", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.32) texto_sub2 = Label(text="Idade:",
font=("Arial", "16", "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.05, rely=0.45) # Entradas
batimentos = StringVar()
batimentos_entrada = Entry(textvariable=batimentos,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
batimentos_entrada.place(relx=0.73, rely=0.33, relwidth=0.2) idade = StringVar()
idade_entrada = Entry(textvariable=idade,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
idade_entrada.place(relx=0.18, rely=0.45, relwidth=0.2) # Dropdown
var = StringVar()
dropDownList = ["Anos", "Meses"]
dropdown = OptionMenu(root, var, *dropDownList)
var.set(dropDownList[0])
dropdown.place(relx=0.45, rely=0.45, relwidth=0.2)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", "13", "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", "13", "bold")) # Função de Limpar
def limpar():
idade_entrada.delete(0, END)
batimentos_entrada.delete(0, END)
resultado_texto.config(text="") # Função Principal
def app():
try:
i = int(idade.get())
b = float(batimentos.get())
unidade = var.get() # Obtém a unidade selecionada no dropdown
mensagem = "Frequência Cardíaca Fora do Normal"

if unidade == "Meses":
if i < 1 or i > 11:
mensagem = "O bebé deve ter entre 1 e 11 meses."

elif 1 <= i <= 11 and b < 70:
mensagem = "Frequência cardíaca baixa (Bradicardia) "

elif 1 <= i <= 11 and b >190:
mensagem = "Frequência cardíaca alta (Taquicardia ) "
elif 1 <= i <= 11 and 70 <= b <= 190:
mensagem = "Frequência Cardíaca Normal"
elif unidade == "Anos":
if 1 < i <= 2 and 80 <= b <= 130:
mensagem = "Frequência Cardíaca Normal"

elif 1 <= i <= 2 and b < 80:
mensagem = "Frequência cardíaca baixa (Bradicardia) "
elif 1 <= i <= 2 and b >130:
mensagem = "Frequência cardíaca alta (Taquicardia ) "
elif 3 <= i <= 4 and 80 <= b <= 120:
mensagem = "Frequência Cardíaca Normal"
elif 3 <= i <= 4 and b < 80:
mensagem = "Frequência cardíaca baixa (Bradicardia) "
elif 3 <= i <= 4 and b > 120:
mensagem = "Frequência cardíaca alta (Taquicardia ) "
elif 5 <= i <= 6 and 75 <= b <= 115:
mensagem = "Frequência Cardíaca Normal"

elif 5 <= i <= 6 and b < 75:
mensagem = "Frequência cardíaca baixa (Bradicardia) "
elif 5 <= i <= 6 and b > 115:
mensagem = "Frequência cardíaca alta (Taquicardia ) "

elif 7 <= i <= 9 and 70 <= b <= 110:
mensagem = "Frequência Cardíaca Normal"

elif 7 <= i <= 9 and b < 70:
mensagem = "Frequência cardíaca baixa (Bradicardia) "
elif 7 <= i <= 9 and b > 110:
mensagem = "Frequência cardíaca alta (Taquicardia ) "

elif 10 <= i < 65 and 60 <= b <= 100:
mensagem = "Frequência Cardíaca Normal"

elif 10 <= i <= 65 and b < 60:
mensagem = "Frequência cardíaca baixa (Bradicardia) "
elif 10 <= i <= 65 and b > 100:
mensagem = "Frequência cardíaca alta (Taquicardia ) "

elif i >= 65 and 60 <= b <= 90:
mensagem = "Frequência Cardíaca Normal"
elif i >= 65 and b < 50:
mensagem = "Frequência cardíaca baixa (Bradicardia) "
elif i >= 65 and b > 90:
mensagem = "Frequência cardíaca alta (Taquicardia ) "

resultado_texto.config(text=mensagem)
except ValueError:
resultado_texto.config(text="Erro: Digite valores válidos para idade e batimentos.")
but1 = Button(text="Verificar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.65, relwidth=0.25, relheight=0.1) but_limpar = Button(text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar)
but_limpar.place(relx=0.4, rely=0.65, relwidth=0.25, relheight=0.1) but_sair = Button(text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy)
but_sair.place(relx=0.7, rely=0.65, relwidth=0.25, relheight=0.1) # Resultado
resultado_texto = Label(text="",
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.8, relwidth=0.9, relheight=0.15) root.mainloop()
0