0
votes

Retourner tous les diviseurs d'un nombre - Python

Je veux trouver tous les diviseurs d'un nombre en python. Je le fais beaucoup dans JavaScript, C #, Java, mais mon code Python fonctionne uniquement avec Imprimer instruction correctement. Mais je ne veux pas imprimer de diviseurs, je veux les affecter à une variable ou les afficher de la fonction d'appel dans Imprimer . xxx


2 commentaires

Vous pouvez les ajouter dans une liste et ensuite renvoyer la liste.


@Enriquebet, merci.


4 Réponses :


2
votes

par exemple les sauver dans une liste xxx


3 commentaires

Résultat ajouté à une liste automatiquement à cause des supports après retour ?


Exactement! Également Liste de retour (x pour x dans la plage (1, numéro + 1) si nombre% x == 0) aurait fait la même chose. Vous pouvez stocker la liste pour var (comme ceci nom_var = retour_divisors (11)


C'est compris. Merci beaucoup.



3
votes

Comme cela, votre fonction reviendra sur le premier diviseur possible (donc presque toujours 1). Si vous voulez continuer à rechercher votre première découverte, vous devez le sauvegarder, par exemple. Dans une liste (ou utilisez un générateur, etc.).

def mainFunction(number):
    divisors = []
    for i in range(1, number+1):
        if number % i == 0:
            divisors.append(i)
    return divisors


0 commentaires

3
votes

Si vous exécutez une instruction Retour La fonction mettra fin à son exécution immédiatement. Pour résoudre votre code, vous pouvez utiliser @ADEEIS Exemple ou simplement ajouter une liste simple xxx


0 commentaires

2
votes

Un de plus, en utilisant Generator:

def mainFunction(number):
    for i in range(1, number+1):
        if number % i == 0:
            yield i

for divisor in mainFunction(10):
        print( divisor )


0 commentaires