我需要帮助将此循环转换为递归方法吗?我该怎么做?
while z <= len(list):
if z = len(list): #base case
return something
else:
#do something else
z += 1
答案 0 :(得分:3)
def func(my_list, z):
if z == len(my_list):
return something
else:
# do something else
return func(my_list, z+1)
z = someValue
print func(my_list, z)
您不应将list
用作变量名。
答案 1 :(得分:0)
z = 1
while z <=5:
if z == 5:
print 'base case'
else:
print 'repeated text'
z += 1
这被转换为递归代码如下。您可以根据此
处理您的案例def recursion(z):
assert z <= 5
if z == 5:
print 'base case'
else:
print 'repeated text'
recursion(z+1)
recursion(1)
答案 2 :(得分:0)
我将使用while循环实现递归函数--- Factorial ----
(1)根据while条件递归调用事实函数
(2)您可以根据问题陈述
def fact(num):
while num>1:
return num*fact(num-1)
else:
return num
result = fact(3)
print(result)
6