1
resposta

duvido em um exercicio

Duvida* Em um exercício de aprofundamento tinha o seguinte codigo:

class Pessoa:
    tamanho_cpf = 11

    def __init__(self, cpf, nome):
        self.cpf = cpf
        self.nome = nome

    def valida_cpf(self):
        return True if len(self.cpf) == __class__.tamanho_cpf else False

pe = Pessoa('00000000001', 'Ruby')
print(pe.valida_cpf())

pe = Pessoa('0000000000', 'Cristal')
print(pe.valida_cpf())

Como fazer para pegar o cpf de um arquivo .txt para testar uma lista grande de itens Porque demoraria muito colocando um por um

1 resposta

Oi João, como vai? Espero que esteja bem ^-^

Sinto muito pela demora em obter um retorno. Vamos lá:

Supondo o seguinte arquivo txt:

00000000001, Ruby
00000000001, Ruby
00000000001, Ruby
0000000000, Cristal
0000000000, Cristal
00000000001, Ruby
00000000001, Ruby
0000000000, Cristal
0000000000, Cristal
0000000000, Cristal

Poderíamos fazer um laço for para percorrer cada linha do arquivo e separar essa linha pela vírgula. Da seguinte forma:

arquivo = open('cpf.txt')

for linha in arquivo:
    cpf, nome = linha.split(',')
    pe = Pessoa(cpf, nome)
    print(pe.valida_cpf())

Dessa forma, todos os dados do arquivo serão lidos e validados.

Código completo:

class Pessoa:
    tamanho_cpf = 11

    def __init__(self, cpf, nome):
        self.cpf = cpf
        self.nome = nome

    def valida_cpf(self):
        return True if len(self.cpf) == __class__.tamanho_cpf else False


arquivo = open('cpf.txt')

for linha in arquivo:
    cpf, nome = linha.split(',')
    pe = Pessoa(cpf, nome)
    print(pe.valida_cpf())

Qualquer dúvida estou por aqui, é só dizer.

Abraços e bons estudos!