INTERFAZ CON TKINTER #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
from Tkinter import * | |
import tkMessageBox | |
global bandera,bandera1,bandera2,bandera3,bandera4 | |
class app(): | |
def __init__(self): | |
self.ventana= Tk() | |
self.ventana.title("Nombre de usuario y contraseña") | |
self.ventana.geometry('500x500') | |
self.inicio() | |
self.ventana.mainloop() | |
def inicio(self): | |
self.etiqueta= Label(self.ventana,text="Dame Usuario: ",font=("Arial",12,"bold")) | |
self.etiqueta.grid(row=2,column=4,padx=(20,20),pady=(20,20)) | |
self.usuario="" | |
self.ent_usuario=Entry(self.ventana,width=12,textvariable=self.usuario,font=("Arial",10,"bold")) | |
self.ent_usuario.grid(row=2,column=5,padx=(20,20),pady=(20,20)) | |
self.usuario=StringVar() | |
self.etiqueta2 = Label(self.ventana, text="Dame Contraseña: ",font=("Arial",12,"bold")) | |
self.etiqueta2.grid(row=4, column=4, padx=(20, 20), pady=(20, 20)) | |
self.password = "" | |
self.ent_password = Entry(self.ventana, width=12, textvariable=self.password,font=("Arial",10,"bold")) | |
self.password = StringVar() | |
self.ent_password.grid(row=4, column=5, padx=(20, 20), pady=(20, 20)) | |
self.boton=Button(self.ventana,text="Validar Usuario",command=lambda:self.valida(self.ent_usuario.get())).place (x=340, y=57) | |
self.boton2=Button(self.ventana, text="Validar Password",command=lambda: self.valida2(self.ent_password.get())).place(x=340, y=87) | |
def valida(self,entrada1): | |
self.ent_usuario=entrada1 | |
if len (entrada1)<6: | |
tkMessageBox.showerror("Caracteres insuficientes","Tiene que ser mayor a 6 caracteres") | |
self.ventana.destroy() | |
app() | |
if len (entrada1)>12: | |
tkMessageBox.showerror("Incorrecto Tamaño","Tiene que ser menor o igual a 12 caracteres") | |
self.ventana.destroy() | |
app() | |
if len(entrada1) >= 6 and (entrad1)<=12: | |
tkMessageBox.showerror("Correcto", "Perfecto Bienvenido") | |
def valida2(self,entrada2): | |
self.ent_password=entrada2 | |
bandera = 0 | |
bandera1 = 0 | |
bandera2 = 0 | |
bandera3 = 0 | |
bandera4 = 0 | |
for i in entrada2: # ciclo for que recorre caracter por caracter en la contraseña | |
if i.isspace() == True: | |
bandera = 1 | |
if i.isupper() == True: | |
bandera1 = 1 | |
if i.islower() == True: | |
bandera2 = 1 | |
if i.isdigit() == True: | |
bandera3 = 1 | |
if bandera == 1: | |
print "el password no puede tener espacios" | |
if len(entrada2) < 8 and bandera == 1: | |
print("el password no puede ser menor de 8 caracteres") | |
bandera4 = 1 | |
# La contraseña elegida no es segura: debe contener letras minúsculas, mayúsculas, números y al menos 1 carácter no alfanumérico | |
if bandera == 0 and bandera1 == 1 and bandera2 == 1 and bandera3 == 1 and bandera4 == 0: | |
print( | |
"la contraseña es segura: tiene lestras mayusculas, minusculas, numeros y al menos un caracter no alfanumerico") | |
else: | |
print (" la contraseña no es segura") | |
app =app() |
Comentarios
Publicar un comentario