TypeError: 'builtin_function_or_method' object is not iterable

Я пытаюсь ввести два любых числа через пробел, добавить к каждому единицу и вывести их:

nk = input().split
for n, k in nk:
    n, k = n + 1, k + 1
    print(n)
    print(k)

Я пыталась сделать так:

nk = input().split
nk_list = list(map(int, nk))
n = nk_list[0] + 1
k = nk_list[1] + 1
print(n)
print(k)

Но выдается одна и та же ошибка:

Traceback (most recent call last):
File "/home/admin1/PycharmProjects/2.py", line 64, in <module>
TypeError: 'builtin_function_or_method' object is not iterable

Ответы (4 шт):

Автор решения: Руслан Лиховидов

Строковый метод split()

Методы — это функции, привязанные к какому-либо объекту.

Метод split() является строковым методом. Строковый метод split() — разбивает строку по указанному в качестве параметра метода разделителю, где разделителем строки по умолчанию является пробел.


>>> sentence = input()   
Поздравляю всех с праздником!
>>> sentence.split()
['Поздравляю', 'всех', 'с', 'праздником!']

В результате получится список из четырёх элементов.

Добавление единицы и вывод чисел на экран

Воспользуемся генератором списков.


[print(int(c) + 1) for c in input('Введите числа: ').split()]

→ Ссылка
Автор решения: Wairua

print('{0} {1}'.format(*[i + 1 for i in map(int, input().split())]))

→ Ссылка
Автор решения: mrnigga

Изначально команда input(), то есть вводится строка. Она разбивается на список методом split(). То есть, каждый символ становится элементом - новой строкой, а к строке прибавить 1 нельзя. Нужно:

int(n), int(k) = int(n) + 1, int(k) + 1
→ Ссылка
Автор решения: Qwertiy
 nk = input().split
nk = input().split()

Тогда до следующей ошибки дойдёшь.

→ Ссылка