Clase Numero 06 -Mas Funciones

Recursos Funciones

https://www.technodyan.com/introduccion-a-python-definicion-y-uso-de-funciones/

https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones.html

http://www.openbookproject.net/thinkcs/archive/python/spanish2e/cap03.html

https://docs.hektorprofe.net/python/programacion-de-funciones/paso-por-valor-y-referencia/

https://sites.google.com/site/cursodepython/primer-clase/argumentos-de-funciones


EJERCICIO 20 de Ejercicios propuestos

Control de acceso a sitio web mediante user y pass

#20. El ingreso a un sitio web se valida por nombre de usuario y contraseña. Realizar un
#programa que impida que el usuario ingrese hasta poner los datos correctos. Si intenta más
#de 3 veces erróneamente, se debe mostrar el mensaje “Se ha bloqueado su cuenta”, de lo
#contrario, mostrar “Ha ingresado correctamente”.

import random as R

#def getContraseniaFuerte(8):
    
def leerUsuario(largo):
    usuario=""
    contrasenia=""
    intentos = 1
    usuario = input("Usuario: ")
    terminar=False
    while not terminar:
        contrasenia = input("contrasenia: ")
        while(len(contrasenia) < largo and intentos < 3):
            print (intentos)
            intentos += 1
            contrasenia = input("contrasenia: ")
        if intentos >= 3:
            usuario = "error"
            contrasenia =""
        
        terminar = True
    
    
    return (usuario,contrasenia)

def esMayuscula(c):
    return c >='A' and c <= 'Z'
def esMinuscula(c):
    return c >='a' and c <= 'z'
def esDigito(c):
    return c >='0' and c <= '9'
def esSeparador(c):
    return not ( esMayuscula(c) or esMinuscula(c) or esDigito(c) )
def esLetra(c):
    return esMayuscula(c) or esMinuscula(c)

def esFuerte(contrasenia):
    cma=0
    cmi=0
    cdi=0
    for i in range(len(contrasenia)):
        if esMayuscula(contrasenia[i]):
            cma += 1
        elif esMinuscula(contrasenia[i]):
            cmi += 1
        else:
            cdi += 1
    return cma >= 2 and cmi >= 1 and cdi >= 5

def main():
    
    ingreso = leerUsuario(8)
    if ingreso[1] == "error":
        print("error")
    else:
        if esFuerte(ingreso[1]):
            print("ok " ,ingreso)
        else:
            print("error no es fuerte " ,ingreso)
main()

Resultado


3 thoughts on “Clase Numero 06 -Mas Funciones”

  1. def leerClave(largo):
    clave=””
    intentos=3
    salir= False
    while intentos > 0 and not salir:
    clave=input(“Contrasenia: “)
    if len(clave) >= largo:
    salir= True
    else:
    salir= False
    intentos -= 1
    print(“\nSu contraseñ es muy corta debe tener 8 caracteres minimo, 1 minuscula, 3 mayusculas y 4 digitos”)
    print(“Numero de intentos: “,intentos,”\n”)
    if not salir:
    clave=”error1″
    return(clave)

    def esFuerte(clave):

    contdig=0
    contmay=0
    contmin=0
    print(clave)
    for i in range(len(clave)):
    if esMinuscula(clave[i]):
    contmin+=1
    elif esMayuscula(clave[i]):
    contmay+=1
    else:
    contdig+=1

    print(contmin,contmay,contdig)

    return contdig >= 4 and contmay >= 3 and contmin >= 1

    def esMinuscula(c):
    return c >= “a” and c= “A” and c= “0” and c<="9"

    def main():

    clave = leerClave(8)

    if esFuerte(clave):
    print("Contraseña Fuerte")
    else:
    print("Contraseña Debil")

    main()

  2. #Generar una clave aleatoria estableciendo parametros por ej:
    #generar una contraseña con de 8 caracteres con 1 minuscula, 2 mayuscula y 5 digitos(numeros)
    import random as R
    def generarClave(largo):
    clave=””
    porcentaje=R.randint(1,largo)
    salir= False
    while not salir:
    for c in range(largo):
    if porcentaje >=1 and porcentaje =3 and porcentaje = 6: #50%
    digito=chr(R.randint(ord(“0”),ord(“9″)))
    clave += digito

    porcentaje=R.randint(1,largo)

    if esFuerte(clave):
    salir= True
    else:
    salir= False
    clave=””

    return(clave)

    def esFuerte(clave):
    contmin=0
    contmay=0
    contdig=0

    for i in range(len(clave)):
    if esMin(clave[i]):
    contmin += 1
    elif esMay(clave[i]):
    contmay += 1
    else:
    contdig += 1
    return contmin >=1 and contmay >= 2 and contdig >= 5

    def esMin(c):
    return c >= “a” and c = “A” and c = “0” and c <= "9"

    def main():
    print("Su Nueva clave del banco es: ",generarClave(8))

    main()

Leave a Reply

Your email address will not be published. Required fields are marked *