Нахера тут (и в задачах типа этой) рекурсия? Функция вида
def foo(args):
other_args = do_something()
foo(other_args)
всегда приводится к виду
def foo(args):
while condition:
args = do_something()
В твоём случае эквивалентный код
def func():
while True:
x, y = randint(1, 10), randint(1, 10)
if x == 1 and y == 1:
print(x, y)
Подробнее о хвостовой рекурсии читай
здесь
Рекурсия полезна в более замысловатых ситуациях, хотя бы такой:
def foo(args):
other_args = do_something()
foo(other_args)
another_args = do_something_else()
foo(another_args)