from tkinter import *
def limpar():
Número_entrada.delete(0, END)
resultado_texto.config(text="")
def app():
try:
n = int(Número.get())
numero_str = str(n)
n_digitos = len(numero_str)
soma = 0
for digito in numero_str:
soma += int(digito) ** n_digitos
if soma == n:
mensagem = f"{n} é um número de Armstrong."
else:
mensagem = f"{n} não é um número de Armstrong."
except ValueError:
mensagem = "Valor digitado inválido!" # Caso o valor não seja um número válido
resultado_texto.config(text=mensagem) # Exibe a mensagem de resultado
root = Tk()
root.geometry("600x300")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Verificador de Número Armstrong")
titulo = Label(text="Verificar se é Armstrong",
font=("Arial", "30", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.13, rely=0.05)
texto_sub1 = Label(text="Número para verificar:",
font=("Arial", "20", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.32)
Número = StringVar()
Número_entrada = Entry(textvariable=Número,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Número_entrada.place(relx=0.57, rely=0.34, relwidth=0.35)
Número_entrada.focus()
but1 = Button(text="Verificar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.5, 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.5, 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.5, relwidth=0.25, relheight=0.1)
resultado_texto = Label(text="", font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.68, relwidth=0.9, relheight=0.24)
root.bind("<Return>", lambda event: app())
root.mainloop()