我想创建一个函数来计算R=x-N*y,其中x和y是浮点数,N是最大的正整数,因此x>;N*y
函数应该只接受x和y的输入
我以前通过循环创建过函数,但在尝试将其转换为递归时遇到了问题。我的基本想法是:
def florec(x, y):
if x > y:
R = x - N * y
florec(x, y_increased)
return R
我的问题是,我不知道如何编码“y\u increased”,也就是说,如何将N更新为N+1,然后调用florec(x,(N+1)*y)。然后将N+1更新为N+2并调用florec(x,(N+2)*y)等等。你知道吗
目前感觉很困窘,所以任何向前推进的帮助都将不胜感激。你知道吗
根据Jerome的原始注释,您描述的函数是模的定义。如果您确实需要使用递归,下面将完成它。你知道吗
请注意,上述方法仅适用于正x和y,并且仅适用于x已经大于y的情况
如果要在每次递增时返回一个值,可以使用生成器函数:
结果:
下面是计算R的递归方法:
(请注意,它仅适用于正浮动。)
我不知道这是否解决了你的递归问题。也许这个用例不适合说明递归。你知道吗
相关问题 更多 >
编程相关推荐