Python 如何更改我的递归模式?

Python 如何更改我的递归模式?,python,recursion,Python,Recursion,缩放功能将形状的大小更改为1/n。但是,只有第一个形状需要缩放到1/n。其余的n-1模式是2/n、3/n….n/n。我的递归将所有大小更改为1/n、1/(n-1)、1/(n-2)… 是否有方法将递归更改为2/n,3/n….n/n?您可以尝试: def pet(n,shape): if n==1: return shape else: return stack_frac(1/n,scale(1/n,shape),pet(n-1,shape)) de

缩放功能将形状的大小更改为
1/n
。但是,只有第一个形状需要缩放到
1/n
。其余的
n-1
模式是
2/n、3/n….n/n
。我的递归将所有大小更改为
1/n、1/(n-1)、1/(n-2)…

是否有方法将递归更改为
2/n,3/n….n/n

您可以尝试:

def pet(n,shape):
    if n==1:
        return shape
    else:
        return stack_frac(1/n,scale(1/n,shape),pet(n-1,shape))
def pet(n, shape, k=1):
    if k == n: 
        return shape
    else:
        return stack_frac(k/n, scale(k/n, shape), pet(n, shape, k+1))