def nat_fn1(k):
if k == 0:
return 1
elif k%2 == 0:
return 2
else:
return nat_fn1 (k-1)
我第一次尝试nat_fn1(5)
,我得到了答案2.这是预期的。然后我尝试了相同的代码而没有返回,我得到了None的值,这也是预期的。因此,应用相同的概念,我想这样的代码:返回语句vs不返回语句?
def process_strings(s,t):
if s == "":
if not(t== ""):
print(t)
else:
print("{0}{1}".format(s[0],t[0]))
process_strings(s[1:], t[1:])
我试过process_strings("cat","dog")
,期待无,因为在递归不归路。然而,我仍然有一个答案:
cd
ao
tg
我明白它是如何得到这些值。但是没有回报声明。为什么这个工作?
函数**做了**返回无 –
您的只是打印值,函数没有返回它们。 –
我不太明白。对不起,我是Python新手。那么当我做递归而没有返回时发生了什么?在递归之前它是否仍然递归或停止? – Compsci