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

Estou tentando realizar esse codigo para gerar senhas aleatorias, mas o ultimo print sempre da erro. Alguem pode me ajudar a entender o erro?

import random  

print('Bem vindo ao seu Gerador de Senhas\n')

chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!@#$%&*,.'

number = input('Quantidade de senhas que deseja: ')

number = int(number)

lenght = input('O tamanho da senha que deseja: ')

lenght = int(lenght)

print = ('\nAqui estão suas senhas:')

for password in range(number):

    passwords = ''
    
    for c in range(lenght):
    
        passwords += random.choice(chars)
        print(passwords)
        
1 resposta
solução!

Oi Joao,

O problema está na linha print = ('\nAqui estão suas senhas:'). Ao fazer isso, você está sobrescrevendo a função print() com uma string, o que causa o erro na última linha do seu código, pois você tenta usar print() como função novamente, mas ela agora é uma string.

Para corrigir, remova essa linha e utilize o print() corretamente para exibir a mensagem antes do loop que gera as senhas. Além disso, o print(passwords) dentro do loop interno está imprimindo a senha parcialmente a cada caractere gerado. Para imprimir a senha completa, mova esse print para fora do loop interno.

Segue o código corrigido:

import random

print('Bem vindo ao seu Gerador de Senhas\n')

chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!@#$%&*,.'

number = input('Quantidade de senhas que deseja: ')
number = int(number)

lenght = input('O tamanho da senha que deseja: ')
lenght = int(lenght)

print('\nAqui estão suas senhas:')

for password in range(number):
    passwords = ''
    for c in range(lenght):
        passwords += random.choice(chars)
    print(passwords)

Para saber mais: Função print() em Python 💻 👍 🤔

Continue praticando e explorando o mundo da programação! 💪

tux matrix Caso este post o tenha ajudado, marque-o como solucionado ☑️. Bons Estudos! 🤓