我必须编写一个函数,在取两个参数后返回一个除数的商和余数,第一个是一个被除数,第二个除数是递归地从被除数中减去除数。
def recursive_division (a, b, c = 0):
if b == 0:
return ("(Cannot divide by zero)","(Cannot divide by zero)")
elif a < b:
return (c,a)
else:
return recursive_division (a - b, b, 1 + c)
有没有办法在函数中没有将默认变量c定义为零的情况下找到商...这个函数在定义时只有两个参数,只返回基于a或b的东西? (以下示例)
def recursive division (a, b)
...
return (x, y)
答案 0 :(得分:1)
是的,您可以通过增加c
递归返回的除数来避免使用recursive_division
。
类似的东西(未经测试):
def recursive_division (a, b):
if b == 0:
return ("(Cannot divide by zero)","(Cannot divide by zero)")
elif a < b:
return (0, a)
else:
(x, y) = recursive_division (a - b, b)
return (x+1, y)