Comparar a velocidade do som

from tkinter import *

root = Tk()
root.geometry("400x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Comparar a velocidade do som")

# Título
titulo = Label(text="Comparar a velocidade do som",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05)

# Texto de subtítulo
texto_sub1 = Label(text="Velocidade (em m/s):",
font=("Arial", 15, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.3)

# Entrada de velocidade
Velocidade = StringVar()
Velocidade_entrada = Entry(textvariable=Velocidade,
font=("Arial", 12, "bold"),
bg="white", fg="blue", justify='center')
Velocidade_entrada.place(relx=0.6, rely=0.31, relwidth=0.36)


# Função para limpar os campos
def limpar():
Velocidade_entrada.delete(0, END)
resultado_texto.config(text="")


def app():
try:
v = float(Velocidade.get())
velocidade_som = 343 # Velocidade do som em m/s
fator_comparacao = v / velocidade_som

if fator_comparacao > 1:
mensagem = f"A velocidade que você digitou é {fator_comparacao:.2f} vezes\nmaior que a velocidade do som."
elif fator_comparacao < 1:
mensagem = f"A velocidade que você digitou é {1 / fator_comparacao:.2f} vezes\nmenor que a velocidade do som."
else:
mensagem = "A velocidade que você digitou é igual à velocidade do som."

resultado_texto.config(text=mensagem)

except ValueError:
resultado_texto.config(text="Valor introduzido é inválido!!")


# Botões de ação
but1 = Button(text="Calcular", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.45, 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.45, 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.45, relwidth=0.25, relheight=0.1)

resultado_texto = Label(text="",
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.65, relwidth=0.9, relheight=0.25)

root.mainloop()

Comentários

Mensagens populares deste blogue

Criar Cartões de Visita

12 signos egípcios

Calcular a percentagem de ocupação