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()]
Изначально команда input(), то есть вводится строка. Она разбивается на список методом split(). То есть, каждый символ становится элементом - новой строкой, а к строке прибавить 1 нельзя. Нужно:
int(n), int(k) = int(n) + 1, int(k) + 1
nk = input().split
nk = input().split()
Тогда до следующей ошибки дойдёшь.