1
resposta

gerador de senha segura

import random
import string

def gerar_caracteres_aleatorios(tamanho):
    if tamanho <= 0:
        raise ValueError("O tamanho deve ser maior que zero.")

    caracteres = ""
    caracteres += string.ascii_uppercase
    caracteres += string.ascii_lowercase
    caracteres += string.digits
    caracteres += string.punctuation

    # Gera a string aleatória
    return ''.join(random.choice(caracteres) for _ in range(tamanho))

senha = gerar_caracteres_aleatorios(tamanho=12)
print("String aleatória gerada:", senha)
1 resposta

Olá, Ricardo! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso da biblioteca string para reunir diferentes conjuntos de caracteres em Python, utilizou muito bem o random.choice para gerar combinações aleatórias e ainda compreendeu a importância da validação de entrada para garantir que o tamanho seja maior que zero.

Uma dica interessante para o futuro é usar o random.choices, que permite gerar múltiplos caracteres de uma vez com mais clareza. Assim:

import random
import string

def gerar_caracteres_aleatorios(tamanho):
    if tamanho <= 0:
        raise ValueError("O tamanho deve ser maior que zero.")
    
    caracteres = string.ascii_letters + string.digits + string.punctuation
    return ''.join(random.choices(caracteres, k=tamanho))

senha = gerar_caracteres_aleatorios(12)
print("String aleatória gerada:", senha)

Isso faz com que o código fique mais legível e aproveite melhor os recursos da biblioteca.

Sugestão de conteúdo para você mergulhar ainda mais no tema:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!