Mundo em Python

Calcular a Área de um Terreno com Lados Diferentes

from tkinter import *

# Inicializando a janela principal
root = Tk()
root.geometry("600x600")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Calcular a Área de um Terreno com Lados Diferentes") # Título da aplicação
titulo = Label(text="Calcular a Área de um Terreno com Lados Diferentes",
font=("Arial", "17", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.02, rely=0.05) # Labels para instruções
texto_sub1 = Label(text="Medida da frente do terreno em metros :",
font=("Arial", "13", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.2) texto_sub2 = Label(text="Medida dos fundos do terreno em metros :",
font=("Arial", "13", "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.05, rely=0.3) texto_sub3 = Label(text="Medida do lado direito do terreno em metros :",
font=("Arial", "13", "bold"), bg="#103030", fg="#49e3e3")
texto_sub3.place(relx=0.05, rely=0.4) texto_sub4 = Label(text="Medida do lado esquerdo do terreno em metros :",
font=("Arial", "13", "bold"), bg="#103030", fg="#49e3e3")
texto_sub4.place(relx=0.05, rely=0.5) # Campos de entrada para medidas
Lado_frente = StringVar()
Lado_frente_entrada = Entry(textvariable=Lado_frente,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Lado_frente_entrada.place(relx=0.7, rely=0.2, relwidth=0.25) Lado_fundos = StringVar()
Lado_fundos_entrada = Entry(textvariable=Lado_fundos,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Lado_fundos_entrada.place(relx=0.7, rely=0.3, relwidth=0.25) Lado_direito = StringVar()
Lado_direito_entrada = Entry(textvariable=Lado_direito,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Lado_direito_entrada.place(relx=0.7, rely=0.4, relwidth=0.25) Lado_esquerdo = StringVar()
Lado_esquerdo_entrada = Entry(textvariable=Lado_esquerdo,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Lado_esquerdo_entrada.place(relx=0.7, rely=0.5, relwidth=0.25)
def limpar():
"""Limpa todos os campos de entrada e o resultado."""
Lado_frente_entrada.delete(0, END)
Lado_fundos_entrada.delete(0, END)
Lado_esquerdo_entrada.delete(0, END)
Lado_direito_entrada.delete(0, END)
resultado_texto.config(text="")
def app():
"""Calcula a área do terreno e exibe o resultado."""
try:
# Obtendo valores dos campos de entrada
frente = float(Lado_frente.get())
fundos = float(Lado_fundos.get())
lado_direito = float(Lado_direito.get())
lado_esquerdo = float(Lado_esquerdo.get()) # Calculando a média e a área
media_frente_fundos = (frente + fundos) / 2
media_lados = (lado_direito + lado_esquerdo) / 2
area = media_frente_fundos * media_lados # Exibindo o resultado
resultado_texto.config(text=f"A área do terreno é {area:.2f} metros quadrados.") except ValueError:
resultado_texto.config(text="Por favor, insira valores numéricos válidos!!!")
# Botão para calcular a área
but1 = Button(text="Calcular", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.6, relwidth=0.25, relheight=0.1) # Botão para limpar os campos
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.6, relwidth=0.25, relheight=0.1) # Botão para sair do aplicativo
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.6, relwidth=0.25, relheight=0.1) # Label para mostrar o resultado da área calculada
resultado_texto = Label(text="",
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.75, relwidth=0.9, relheight=0.2) # Inicia o loop principal da interface gráfica
root.mainloop()
0