Я хочу построить функцию, которая принимает два натуральных числа n и m и возвращает кортеж квадратов всех натуральных чисел, начиная с n и заканчивая m-1. Я могу решить, должна ли функция возвращаться, если m меньше n, но она не должна сбой или возврат какого-либо сообщения об ошибке. Итак, squares_tuple (3,7) возвращает (9,16,25,36) и rec_range (10,11) возвращает (100,). Кроме того, я не хочу использовать диапазоны(), map(), циклы или списки. Вот то, что я до сих пор:Рекурсивные функции с математическими операторами
def squares_tuple(n,m):
"""takes two nat nums n and m and returns a tuple of the squares of all the
natural numbers starting with n and ending with m-1
nat, nat -> tuple of natural numbers"""
if m >= 0:
return 0
else:
return squares_tuple(n - 1,) + (n**m,)
Вид застрял в этой точке ...
Какая ошибка? – pjc
Не хотите, чтобы это было 'if m <= 0:'? – jcfollower