Mundo em Python

Calculadora de Gotejamento de Soro

from tkinter import *

# Função para calcular gotas por minuto
def calcular():
try:
volume = float(entry_volume.get())
tempo_horas = float(entry_tempo.get())
tipo = var.get().lower() if tipo == "macro":
fator = 20
elif tipo == "micro":
fator = 60
else:
resultado.config(text="Tipo de equipo inválido.", fg="red")
return

tempo_min = tempo_horas * 60
gotas = (volume * fator) / tempo_min
gotas = round(gotas) resultado.config(text=f"{gotas} gotas/minuto", fg="#49e3e3") except ValueError:
resultado.config(text="Preencha todos os campos corretamente.", fg="red") # Interface
root = Tk()
root.geometry("700x500")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Calculadora de Gotejamento de Soro") # Título
titulo = Label(text="Calculadora de Gotejamento de Soro",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05) # Volume
texto_sub1 = Label(text="Volume Infundido (em mL):",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.2)
entry_volume = Entry(root, font=("Arial", 16), width=10)
entry_volume.place(relx=0.7, rely=0.2)
entry_volume.focus() # Tempo
texto_sub2 = Label(text="Tempo de infusão (em horas):",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.05, rely=0.35)
entry_tempo = Entry(root, font=("Arial", 16), width=10)
entry_tempo.place(relx=0.7, rely=0.35) # Dropdown tipo de equipo
texto_sub3 = Label(text="Tipo de equipo:",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub3.place(relx=0.05, rely=0.5) var = StringVar()
dropDownList = ["Macro", "Micro"]
var.set(dropDownList[0])
dropdown = OptionMenu(root, var, *dropDownList)
dropdown.place(relx=0.5, rely=0.5)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 12))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF") # Botão de calcular
btn = Button(root, text="Calcular", command=calcular,
font=("Arial", 16, "bold"), bg="#09A3BA", fg="white")
btn.place(relx=0.4, rely=0.65) # Resultado
resultado = Label(root, text="", font=("Arial", 20, "bold"),
bg="#103030", fg="#49e3e3")
resultado.place(relx=0.3, rely=0.8) root.mainloop()
0