La funzione divisors() di sympy su python

La funzione divisors() del modulo sympy mi permette di trovare tutti i divisori di un numero tramite il linguaggio Python.

divisors(n)

Il parametro n è un numero intero.

L'output della funzione è una lista dei divisori del numero intero n in ordine crescente.

Attributi facoltativi

La funzione n ha altri due attributi facoltativi

divisors(n, generator=False, proper=False)

  • L'attributo generator se True crea una lista dei divisori in output non è ordinata.
  • L'attributo proper se True elenca solo i divisori propri del numero. In pratica, tutti i divisori tranne il numero stesso.

Se voglio calcolare solo il numero dei divisori, senza conoscere in dettaglio quali sono, utilizzo la funzione divisor_count(n)

    Un esempio pratico

    Carico in memoria la funzione divisors() dal modulo sympy

    from sympy import divisors

    Poi calcolo i divisori di 200

    >>> divisors(200)

    Il risultato è un oggetto iterabile con i divisori del numero 200, compreso il numero stesso.

    [1, 2, 4, 5, 8, 10, 20, 25, 40, 50, 100, 200]

    Ora calcolo i divisori propri di 200 indicando l'attributo proper=True

    >>> divisors(200, proper=True)

    Il risultato è una lista con i divisori propri di 200

    [1, 2, 4, 5, 8, 10, 20, 25, 40, 50, 100]

    In questo caso non c'è 200 perché non è un divisore proprio.

    I divisori propri di un numero sono tutti i divisori tranne il numero stesso.

    E così via.

    Video esempio

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Sympy