from tkinter import *
def limpar():
nivel_álcool_entrada.delete(0, END)
resultado_texto.config(text="")
condutor_var.set(0)
def app():
try:
nivel = float(nivel_álcool.get())
condutor = condutor_var.get()
if condutor:
limite = 0.2
else:
limite = 0.5
if nivel < 0:
resultado_texto.config(text="O nível de álcool não pode ser negativo!")
elif nivel > 1.2:
resultado_texto.config(text="**CRIME RODOVIÁRIO**: TAS acima de 1,2 g/l!", fg="red")
elif nivel > limite:
resultado_texto.config(
text=f"Acima do limite permitido ({limite} g/l). Penalização aplicável.", fg="orange"
)
else:
resultado_texto.config(text="Dentro do limite permitido.", fg="green")
except ValueError:
resultado_texto.config(text="Valor digitado inválido!", fg="red")
root = Tk()
root.geometry("700x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Limite legal de álcool no sangue")
titulo = Label(
text="Limite legal de álcool no sangue",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3"
)
titulo.place(relx=0.08, rely=0.05)
texto_sub1 = Label(
text="Nível de álcool no sangue (g/l):",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3"
)
texto_sub1.place(relx=0.15, rely=0.32)
nivel_álcool = StringVar()
nivel_álcool_entrada = Entry(
textvariable=nivel_álcool,
font=("Arial", 12, "bold"),
bg="white", fg="blue", justify="center"
)
nivel_álcool_entrada.place(relx=0.7, rely=0.33, relwidth=0.2)
nivel_álcool_entrada.focus()
condutor_var = IntVar()
checkbox = Checkbutton(
root, text="Condutor profissional/recém-encartado",
variable=condutor_var, onvalue=1, offvalue=0,
font=("Arial", 12), bg="#103030", fg="#49e3e3"
)
checkbox.place(relx=0.15, rely=0.45)
but1 = Button(
text="Calcular", 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_texto = Label(
text="",
font=("Arial", 12, "bold"), bg="#cfe2f3", fg="black"
)
resultado_texto.place(relx=0.05, rely=0.8, relwidth=0.9, relheight=0.15)
root.mainloop()