Mundo em Python

Verificar Senha Segura (usando Tkinter)

from tkinter import *
root = Tk()
root.geometry("600x300")
root.resizable(1,0)
root.config(bg="#4257f5")
root.title("Verificar Senha Segura")
titulo = Label(text="Verificar Senha Segura",
font=("Arial", "25", "bold"),bg="#4257f5",fg="#d9ead3")
titulo.place(relx=0.05, rely=0.05)
texto_sub1 = Label(text="Digite Senha:",
font=("Arial", "18", "bold"),bg="#4257f5",fg="#d9ead3")
texto_sub1.place(relx=0.05, rely=0.35)
senha = StringVar()
senha_entrada = Entry(textvariable=senha,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
senha_entrada.place(relx=0.48, rely=0.36, relwidth=0.5)
def limpar():
senha_entrada.delete(0, END)
def app():
contrasenha = senha.get() comprimento_minimo = 8
possui_maiuscula = any(c.isupper() for c in contrasenha)
possui_minuscula = any(c.islower() for c in contrasenha)
possui_numero = any(c.isdigit() for c in contrasenha)
possui_caractere_especial = any(c in '!@#$%^&*()-_+=[]{}|;:,.<>?~' for c in contrasenha) if len(contrasenha) < comprimento_minimo:
mensagem = "A senha deve ter pelo menos 8 caracteres."
resultado_texto["fg"] = "red"
elif not possui_maiuscula:
mensagem = "A senha deve conter pelo menos uma letra maiúscula."
resultado_texto["fg"] = "red"
elif not possui_minuscula:
mensagem = "A senha deve conter pelo menos uma letra minúscula."
resultado_texto["fg"] = "red"
elif not possui_numero:
mensagem = "A senha deve conter pelo menos um número."
resultado_texto["fg"] = "red"
elif not possui_caractere_especial:
mensagem = "A senha deve conter pelo menos um caractere especial."
resultado_texto["fg"] = "red"
else:
mensagem = "A senha é segura."
resultado_texto["fg"] = "green"
resultado.set(mensagem)
#
but1 = Button(text="Verificar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.05, rely=0.55, relwidth=0.25, relheight=0.15)
but_limpar = Button(text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar)
but_limpar.place(relx=0.35, rely=0.55, relwidth=0.25, relheight=0.15) but_sair = Button(text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy)
but_sair.place(relx=0.65, rely=0.55, relwidth=0.25, relheight=0.15)
resultado = StringVar()
resultado_texto = Label(textvariable=resultado,
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.75, relwidth=0.9,relheight=0.2)
root.mainloop()
0