Found a problem

Victor Dib dib_victor at outlook.com
Tue Mar 9 15:16:50 EST 2021


Olá, comunidade do Python!

Meu nome é Victor Dib, e sou um estudante brasileiro de programação.

Já entrei em contato com vocês hoje, e vocês solicitaram que eu me inscrevesse na lista de e-mails de vocês primeiro. Bom, isso já foi feito, então espero que agora vocês possam dar atenção ao meu caso.

Já sou um usuário de nível iniciante pra médio da linguagem Python. Mas recentemente tive um problema no uso da linguagem.
Ao construir uma função que encontra números perfeitos, percebi que a linguagem não estava realizando corretamente a inserção de novos dados inteiros à uma lista. Encaminharei imagens para demonstrar o meu problema.

Tive problemas com a versão 3.9.2 da linguagem. Mas também usei a versão 3.8.7 (por ser marcada como estável no site da linguagem), e igualmente tive problemas.

Acredito que não haja problemas em minha lógica, e por isso gostaria que vocês desse m uma olhada para ter certeza de que não é um problema na linguagem.

Odiaria que uma linguagem tão incrível como o Python não funcionasse como deveria. Por isso, por favor, verifiquem meu caso!

Obrigado!

O programa que escrevi para encontrar números perfeitos:



def num_perf_inf(n):
    divisors = []
    perfects = []
    limit = n - 1
    for i in range(1, limit):
        dividend = i + 1
        for j in range(i):
            divisor = j + 1
            if dividend % divisor == 0:
                divisors.append(divisor)
        print(f'Divisors of {i + 1}: {divisors}')

        divisors.pop()
        if sum(divisors) == dividend:
            perfects.append(i)
        divisors.clear()
    print(perfects)


num_perf_inf(28)

E o resultado da execução desse código, em Python 3.9.2 e em Python 3.8.7 (como já mencionado, testei as duas versões da linguagem:


Divisors of 2: [1]
Divisors of 3: [1]
Divisors of 4: [1, 2]
Divisors of 5: [1]
Divisors of 6: [1, 2, 3]
Divisors of 7: [1]
Divisors of 8: [1, 2, 4]
Divisors of 9: [1, 3]
Divisors of 10: [1, 2, 5]
Divisors of 11: [1]
Divisors of 12: [1, 2, 3, 4, 6]
Divisors of 13: [1]
Divisors of 14: [1, 2, 7]
Divisors of 15: [1, 3, 5]
Divisors of 16: [1, 2, 4, 8]
Divisors of 17: [1]
Divisors of 18: [1, 2, 3, 6, 9]
Divisors of 19: [1]
Divisors of 20: [1, 2, 4, 5, 10]
Divisors of 21: [1, 3, 7]
Divisors of 22: [1, 2, 11]
Divisors of 23: [1]
Divisors of 24: [1, 2, 3, 4, 6, 8, 12]
Divisors of 25: [1, 5]
Divisors of 26: [1, 2, 13]
Divisors of 27: [1, 3, 9]
[23]




More information about the Python-list mailing list