Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # gp_v5.py
- from random_tools import passwordAleatoria, QUANTOS_SIMBOLOS_POR_DEFEITO
- import sys
- listaDeArgumentosRecebidos = sys.argv
- def haLetraPequenaEmLista(pL):
- enderecos = range(len(pL))
- for endereco in enderecos:
- letraNoEndereco = pL[endereco]
- bLetraPequena =\
- letraNoEndereco>="a" and\
- letraNoEndereco<="z"
- if (bLetraPequena):
- return True
- # for
- return False
- # def haLetraPequenaEmLista
- def haLetraGrandeEmLista(pCol):
- for idx in range(len(pCol)):
- letra = pCol[idx]
- bLG = letra>="A" and letra<="Z"
- if bLG:
- return True
- # if
- # for
- return False
- # def haLetraGrandeEmLista
- def haDigitoEmLista (pL):
- # alt q dispensa conhecer o mecanismo de endereçamento
- for elemento in pL:
- if elemento>="0" and elemento<="9":
- return True
- # if
- # for
- return False
- # def haDigitoEmLista
- # list indexing
- """
- lista = [1,2,3,4]
- print (lista[0:]) # [1, 2, 3, 4]
- print (lista[0:1]) # [1] # excluindo o right-address
- print (lista[:3]) # [1, 2, 3] # excluindo
- """
- # lógica do programa principal
- bLP = haLetraPequenaEmLista\
- (listaDeArgumentosRecebidos)
- bLG = haLetraGrandeEmLista\
- (listaDeArgumentosRecebidos)
- if (len(listaDeArgumentosRecebidos)>=3):
- iQ = int(listaDeArgumentosRecebidos[1])
- # python gp_v5.py@0 32@1 3@2 A@3 a@4
- bD = haDigitoEmLista\
- (listaDeArgumentosRecebidos[2:])
- bSE = not bLP and not bLG and not bD
- pwd = passwordAleatoria(
- pQuantosSimbolos=iQ,
- pbComLetrasGrandes=bLG,
- pbComLetrasPequenas=bLP,
- pbComDigitos=bD,
- pbComSimbolosEspeciais=bSE
- )
- else:
- if(len(listaDeArgumentosRecebidos)==2):
- iQ = int(listaDeArgumentosRecebidos[1])
- pwd = passwordAleatoria(
- pQuantosSimbolos=iQ
- )
- else:
- # chamada SEM argumentos
- # interpretação é:
- # => aceitar tudo (LP, LG, SE, D), com valores por defeito
- strMsg =\
- f"Password de {QUANTOS_SIMBOLOS_POR_DEFEITO} símbolos, aceitando LP, LG, D, e SE."
- print (strMsg)
- pwd = passwordAleatoria()
- #if-else
- # if
- print(pwd)
Advertisement
Add Comment
Please, Sign In to add comment