Classificação de triângulos (usando tkinter)

from tkinter import *
root=Tk()
root.title("Classificação do Triângulo")
root.geometry("400x300")
root.resizable(False,False)
root.configure(background="orange")

def classificar():
vlado1 = lado1.get()
vlado2 = lado2.get()
vlado3 = lado3.get()
if vlado1 == vlado2 and vlado2 == vlado3 and vlado1 == vlado3:
mensagem= "É um triângulo equilátero."
elif vlado1 != vlado2 and vlado2 != vlado3 and vlado1 != vlado3:
mensagem= "É um triângulo escaleno."
else:
mensagem ="É um triângulo isósceles."
resultado1.set(mensagem)

def limpar():
entrada1.delete(0, END)
entrada2.delete(0, END)
entrada3.delete(0, END)
lado1 = DoubleVar()
lado2 = DoubleVar()
lado3 = DoubleVar()
resultado1 = StringVar()
titulo = Label(text="Classificação do Triângulo",font=("times","18","bold"),bg="Orange")
titulo.place(relx=0.2,rely=0.05)
texto1 = Label(text="Lado 1",font=("arial","12","bold"),bg="Orange")
texto1.place(relx=0.25,rely=0.2)
entrada1 = Entry(textvariable=lado1,font=("arial","12","bold"),bg="green",justify='center')
entrada1.place(relx=0.45,rely=0.2,relwidth=0.3)

texto2 = Label(text="Lado 2",font=("arial","12","bold"),bg="Orange")
texto2.place(relx=0.25,rely=0.35)
entrada2 = Entry(textvariable=lado2,font=("arial","12","bold"),
bg="green",justify='center')
entrada2.place(relx=0.45,rely=0.35,relwidth=0.3)

texto3 = Label(text="Lado 3",font=("arial","12","bold"),bg="Orange")
texto3.place(relx=0.25,rely=0.5)
entrada3 = Entry(textvariable=lado3,font=("arial","12","bold"),
bg="green",justify='center')
entrada3.place(relx=0.45,rely=0.5,relwidth=0.3)

resultado = Label(textvariable=resultado1,font=("arial","13"),
bg="Orange",justify='center',fg="white")
resultado.place(relx=0.25,rely=0.85,relwidth=0.6)

but1 =Button(text="Classificação",font=("arial","12",'bold'),bg="blue"
,command=classificar)
but1.place(relx=0.2,rely=0.65,relwidth=0.3,relheight=0.15)
but2 =Button(text="Limpar",font=("arial","12",'bold'),
bg="blue", command=limpar)
but2.place(relx=0.55,rely=0.65,relwidth=0.3,relheight=0.15)
root.mainloop()

# Outra Versão


from tkinter import *


# Função para classificar o triângulo
def classificar_triangulo(l1, l2, l3):
lados = sorted([l1, l2, l3])
a, b, c = lados[0], lados[1], lados[2]

if a + b <= c:
return "Não é um triângulo válido"

if a == b == c:
classificacao_lados = "Equilátero"
elif a == b or b == c:
classificacao_lados = "Isósceles"
else:
classificacao_lados = "Escaleno"

if a ** 2 + b ** 2 > c ** 2:
classificacao_angulos = "Acutângulo"
elif a ** 2 + b ** 2 == c ** 2:
classificacao_angulos = "Retângulo"
else:
classificacao_angulos = "Obtusângulo"

return f"Triângulo {classificacao_lados} e {classificacao_angulos}"


# Função para limpar as entradas
def limpar():
Lado1_entrada.delete(0, END)
Lado2_entrada.delete(0, END)
Lado3_entrada.delete(0, END)
resultado_texto.config(text="")


# Função para processar a entrada e mostrar o resultado
def app(event=None):
try:
l1 = int(Lado1.get())
l2 = int(Lado2.get())
l3 = int(Lado3.get())
resultado = classificar_triangulo(l1, l2, l3)
resultado_texto.config(text=resultado)
except ValueError:
resultado_texto.config(text="Erro de digitação")


# Configuração da janela principal
root = Tk()
root.geometry("500x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Classificação de triângulos")

# Título
titulo = Label(text="Classificação de triângulos", font=("Arial", "27", "bold"),
bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05)

# Entradas para os lados do triângulo
texto_sub1 = Label(text="Lado 1:", font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.2, rely=0.23)

Lado1 = StringVar()
Lado1_entrada = Entry(textvariable=Lado1, font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Lado1_entrada.place(relx=0.5, rely=0.24, relwidth=0.35)
Lado1_entrada.focus()

texto_sub2 = Label(text="Lado 2:", font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.2, rely=0.4)

Lado2 = StringVar()
Lado2_entrada = Entry(textvariable=Lado2, font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Lado2_entrada.place(relx=0.5, rely=0.4, relwidth=0.35)

texto_sub3 = Label(text="Lado 3:", font=("Arial", "18", "bold"),
bg="#103030", fg="#49e3e3")
texto_sub3.place(relx=0.2, rely=0.55)

Lado3 = StringVar()
Lado3_entrada = Entry(textvariable=Lado3, font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Lado3_entrada.place(relx=0.5, rely=0.55, relwidth=0.35)

# Botões
but1 = Button(text="Mostrar", 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)

# Texto de resultado
resultado_texto = Label(font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.76, relwidth=0.9, relheight=0.2)

# Bind da tecla Enter
root.bind('<Return>', app)

root.mainloop()

Comentários

Mensagens populares deste blogue

Criar Cartões de Visita

12 signos egípcios

Calcular a percentagem de ocupação