Mundo em Python

Estimador de Peso e Dosagem de Vermífugo

from tkinter import *

root = Tk()
root.geometry("700x450")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Estimador de Peso e Dosagem de Vermífugo") titulo = Label(text="Estimador de Peso e Dosagem de Vermífugo",
font=("Arial", "20", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05) # --- Entradas ---
texto_sub1 = Label(text="Perímetro torácico (m):",
font=("Arial", "16", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.09, rely=0.25) texto_sub2 = Label(text="Comprimento corporal (m):",
font=("Arial", "16", "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.09, rely=0.40) Perímetro_torácico = StringVar()
Perímetro_torácico_entrada = Entry(textvariable=Perímetro_torácico,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Perímetro_torácico_entrada.place(relx=0.65, rely=0.26, relwidth=0.25)
Perímetro_torácico_entrada.focus() Comprimento_corporal = StringVar()
Comprimento_corporal_entrada = Entry(textvariable=Comprimento_corporal,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Comprimento_corporal_entrada.place(relx=0.65, rely=0.41, relwidth=0.25)
# --- Funções ---
def limpar():
Comprimento_corporal_entrada.delete(0, END)
Perímetro_torácico_entrada.delete(0, END)
resultado_texto.config(text="")
def app():
try:
# Convertendo metros para centímetros para a fórmula de 11877
perimetro_cm = float(Perímetro_torácico.get()) * 100
comprimento_cm = float(Comprimento_corporal.get()) * 100

peso_estimado = (perimetro_cm ** 2 * comprimento_cm) / 11877

# Dosagem comum de Ivermectina/Praziquantel é 1g para cada 100kg
# Se usar a sua lógica de 2g/100kg:
dose_final = (peso_estimado / 100) * 2

mensagem = f"Peso Estimado: {peso_estimado:.2f} kg\n" \
f"Dose de Vermífugo Sugerida: {dose_final:.2f} g"
resultado_texto.config(text=mensagem) except ValueError:
resultado_texto.config(text="Erro! Digite apenas números (use ponto para decimais)")
# --- Botões ---
but1 = Button(text="Calcular", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.60, 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.60, 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.60, relwidth=0.25, relheight=0.1) resultado_texto = Label(text="",
font=("Arial", 13, "bold"), bg="#cfe2f3", fg="#103030")
resultado_texto.place(relx=0.05, rely=0.75, relwidth=0.9, relheight=0.2) root.mainloop()
0