>>> def print_digits(str1):
... for i in str1:
... if i.isdigit():
... print i
...
>>> print_digits("a12b3")
1
2
3
print
печатает вещи.return
отправляет ответ обратно любому, кто запустил функцию.Я предполагаю, что вы путаете их, потому что если вы запускаете функцию в Python, она печатает все, что возвращается.но это только потому, что python пытается помочь и показать вам результат;это не то, как вы обычно печатаете вещи.
, если вы действительно хотите вернуть цифры и распечатать их в другом месте, то один из способов сделать это - создать список результатов:
>>> def get_digits(str1):
... results = []
... for i in str1:
... if i.isdigit():
... results.append(i)
... return results
...
>>> print(get_digits("a12b3"))
['1', '2', '3']