Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Gerador de senha segura

import random

MAIUSCULAS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
MINUSCULAS = MAIUSCULAS.lower()
NUMEROS = "0123456789"
CARACTERES_ESPECIAIS = "!@#$%&*?"
TODOS_CARACTERES = MAIUSCULAS + MINUSCULAS + NUMEROS + CARACTERES_ESPECIAIS
TAMANHO_SENHA = 12

def gerar_senha_aleatoria(tamanho_senha):
    senha = [
        random.choice(MAIUSCULAS),
        random.choice(MINUSCULAS),
        random.choice(NUMEROS),
        random.choice(CARACTERES_ESPECIAIS)
    ]

    caracteres_faltantes = tamanho_senha - len(senha)

    for _ in range(caracteres_faltantes):
        senha.append(random.choice(TODOS_CARACTERES))
    
    random.shuffle(senha)
    return "".join(senha)

def main():
    print(f"Senha gerada: {gerar_senha_aleatoria(TAMANHO_SENHA)}")

if __name__ == "__main__":
    main()
1 resposta
solução!

Olá, Christian, tudo bem?

Parabéns pelo desenvolvimento do projeto! A sua lógica ficou excelente, especialmente ao garantir que a senha contenha pelo menos um caractere de cada tipo (maiúscula, minúscula, número e especial) antes de preencher o restante. O uso do random.shuffle no final foi essencial para evitar que esses caracteres obrigatórios ficassem sempre no início, garantindo a aleatoriedade.

Bons estudos!

Sucesso

Imagem da comunidade