from tkinter import *
def limpar():
velocidade.set("")
resultado_texto.config(text="")
velocidade_entrada.focus()
def app():
try:
v = float(velocidade.get())
if v < 1:
classificacao = "Força 0 - Calmo (< 1 km/h): O fumo sobe na vertical."
elif v <= 5:
classificacao = "Força 1 - Aragem (1-5 km/h): O fumo indica a direção do vento."
elif v <= 11:
classificacao = "Força 2 - Brisa leve (6-11 km/h): Sente-se o vento na cara; folhas sussurram."
elif v <= 19:
classificacao = "Força 3 - Brisa fraca (12-19 km/h): Folhas e ramos finos movem-se."
elif v <= 28:
classificacao = "Força 4 - Brisa moderada (20-28 km/h): Levanta poeira e papéis do chão."
elif v <= 38:
classificacao = "Força 5 - Brisa fresca (29-38 km/h): Pequenas árvores começam a balançar."
elif v <= 49:
classificacao = "Força 6 - Brisa forte (39-49 km/h): Ramos grandes em movimento."
elif v <= 61:
classificacao = "Força 7 - Vento forte (50-61 km/h): Árvores inteiras em movimento."
elif v <= 74:
classificacao = "Força 8 - Vento muito forte (62-74 km/h): Quebram-se ramos de árvores."
elif v <= 88:
classificacao = "Força 9 - Vendaval (75-88 km/h): Pequenos danos em edifícios."
elif v <= 102:
classificacao = "Força 10 - Vendaval forte (89-102 km/h): Árvores arrancadas pela raiz."
elif v <= 117:
classificacao = "Força 11 - Tempestade (103-117 km/h): Estruturas muito danificadas."
else:
classificacao = "Força 12 - Furacão (> 118 km/h): Destruição devastadora e generalizada."
resultado_texto.config(text=classificacao)
except ValueError:
resultado_texto.config(text="Por favor, insira um valor numérico válido.")
root = Tk()
root.geometry("700x450")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Classificação da Velocidade do Vento")
# Título
titulo = Label(
root,
text="Classificação da Velocidade do Vento",
font=("Arial", 22, "bold"),
bg="#103030",
fg="#49e3e3"
)
titulo.place(relx=0.1, rely=0.05)
# Label Velocidade
Label(
root,
text="Velocidade (km/h):",
font=("Arial", 18, "bold"),
bg="#103030",
fg="#49e3e3"
).place(relx=0.15, rely=0.3)
velocidade = StringVar()
velocidade_entrada = Entry(
root,
textvariable=velocidade,
font=("Arial", 14, "bold"),
justify='center'
)
velocidade_entrada.place(relx=0.55, rely=0.3, relwidth=0.35)
velocidade_entrada.focus()
root.bind("<Return>", lambda event: app())
Button(
root, text="Mostrar", bg='#107db2', fg='white',
font=('Verdana', 12, 'bold'), command=app
).place(relx=0.1, rely=0.55, relwidth=0.25, relheight=0.1)
Button(
root, text="Limpar", bg='#107db2', fg='white',
font=('Verdana', 12, 'bold'), command=limpar
).place(relx=0.4, rely=0.55, relwidth=0.25, relheight=0.1)
Button(
root, text="Sair", bg='#107db2', fg='white',
font=('Verdana', 12, 'bold'), command=root.destroy
).place(relx=0.7, rely=0.55, relwidth=0.25, relheight=0.1)
resultado_texto = Label(
root, text="", font=("Arial", 12, "bold"), bg="#cfe2f3", fg="#103030", wraplength=650
)
resultado_texto.place(relx=0.05, rely=0.72, relwidth=0.9, relheight=0.22)
root.mainloop()