Вопрос

list == []

def MultiplesNumber(a):
    for i in range(1, a+1):
             if a % i == 0:
                    return i

list.append(MultiplesNumber(100))
TypeError: descriptor 'append' requires a 'list' object but received a 'int'

я не могу добавить i к list, Есть идеи?

Это было полезно?

Решение

В вашем коде не так две вещи:

  • Вы делаете list == [] который возвращает True или False, поскольку == является оператором сравнения.В этом случае он возвращает False.Вам нужно использовать = для инициализации переменной.
  • list — это имя встроенного типа в Python, используйте другое имя в качестве имени переменной.

Исправление обоих:

alist = []

def MultiplesNumber(a):
    for i in range(1, a+1):
             if a % i == 0:
                    return i

alist.append(MultiplesNumber(100))

дает правильный вывод.

Другие советы

list - это встроенное ключевое слово, которое тенирует вашу переменную list.Вам нужно назначить список переменную, не проверяю его равенство.

lst = []


def MultiplesNumber(a):
    return [x for x in range(1, a + 1) if a % 2 == 0]


lst.append(MultiplesNumber(100))
print(lst)
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top