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