Как можно оптимизировать этот код на рекурсию?

Я написал функцию, которая выводит все числа от n до x за счёт рекурсии, но чую, что-то я сделала не так. Помогите мне пожалуйста, дайте парочку советов по оптимизации кода!

# вывод: 1 2 3 4 5 
def rec(x, n=0, string=""):
    if n == x:
        print(string)
        return None
    n += 1
    string += str(n) + " "
    rec(x, n, string)

rec(5) 

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

Автор решения: Victor VosMottor thanks Monica

Питон под час лучше знания алгоритмов:

print(*range(int(input())+1))
→ Ссылка
Автор решения: n1tr0xs

Если вам нужно оставить рекурсию, то так можно

def rec(x, n=0, string=""):
    if x == n:
        print(string)
        return
    n += 1
    string = ''.join([string, str(n), ' '])
    rec(x, n, string)
→ Ссылка
Автор решения: CrazyElf

У вас практически всё правильно было, только строка не в том месте дополнялась (плюс сделал небольшие изменения, чтобы код чуть короче был):

# вывод: 1 2 3 4 5 
def rec(x, n=0, string=""):
    string += str(n) + " " # <- переставил сюда
    if n == x:
        print(string)
        return # None не нужен, его всё-равно никто потом не смотрит
    rec(x, n + 1, string) # n можно при вызове функции увеличивать

rec(5) 

Результат:

0 1 2 3 4 5 
→ Ссылка