Сохранить результаты функции python в список - PullRequest
0 голосов
/ 23 января 2020

Привет, ребята, добрый день - я столкнулся с проблемой, и это простая проблема, однако у меня возникли некоторые проблемы в базе python (3.7) Проблема: Итак, я пытаюсь создать эту l oop, он просто находит делители для целого числа, а затем я хотел бы сохранить результат как индексированный объект (например, список), но когда я запускаю следующий код, мой объект, помеченный как «тест», представляет собой пустой список

# function divisors
def divisors(n):
#empty list start
    test = []
    i = 1
    while i <= n:
        if (n % i == 0):
        print(i),
        #append test
        test.append(i), # I know i is not the correct object here, it's just a place holder for this example
    i = i + 1

Не могли бы вы указать мне, какую ошибку я здесь делаю? Я могу решить эту проблему, используя numpy, но я хотел бы понять, python и как она работает лучше. Похоже, мне нужно добавить переменную, которая хранит результаты для l oop, а затем добавить тест с этой переменной?

большое спасибо

1 Ответ

1 голос
/ 23 января 2020

Вы можете передать список в качестве аргумента:

def divisors(test):
    i = 1
    while i <= n:
        if (n % i == 0):
            print(i)
        #append in test
        test.append(i), # I know i is not the correct object here, it's just a place holder for this example
        i = i + 1

a = []
divisors(a)

Или вернуть свой список:

def divisors():
    test = []
    i = 1
    while i <= n:
        if (n % i == 0):
            print(i)
        #append in test
        test.append(i), # I know i is not the correct object here, it's just a place holder for this example
        i = i + 1
    return test

a = divisors()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...