Никита, с вашей стороны было бы уместно уточнить вопрос:
- какого вида строку (по сути) вы имеете вначале (только числа '2 13 56 8' или с текстом 'abc 12 def 56', а может вообще 'abc23def45') ?
- что конкретно вы хотите получить на выходе: если числа есть, вывести принтом 'числа в строке есть' или список с числами или... ?
- если список с числами вывести, то они должны быть в строковом представлении или числовом? ''1', '23', '456'' или '1, 23, 456' ?
Вам привели два решения, но, в зависимости от этих условий, лишь одно из них вам подойдет.
AlexRAV: Для того, чтобы не возникло путаницы и распыления усилий, я бы взял информацию этой статьи за костяк/цель. На мой взгляд, все довольно разумно и систематизировано.
А в остальном - sim3x ответил. Пробуйте (параллельно работая над наработкой знаний/навыков, указанных в статье), как закончите текущий проект...
nevro: В первом случае причина исключения в том, что строковый объект (в данном случае 'abc') НЕ является Итератором. А функцию next() поддерживают Только Итераторы.
Метод iter нужен для того, чтобы из итерируемого объекта (читай "последовательности") создать Итератор, который и будет поддерживать функцию next().