python小白 問關於遞歸的問題
ringa_lee
ringa_lee 2017-06-12 09:21:02
0
1
667

第一段程式碼:

#
# -*- coding:gb2312 -*-
# 递归阶乘
def getnum(num):
    if num > 1:
        print(num)
        return num * getnum(num - 1)
    else:
        print(num)
        return num


result = getnum(5)
print(result)

第一段程式碼執行結果:

#第二段程式碼:

#
# -*- coding:gb2312 -*-
# 递归阶乘
def getnum(num):
    if num > 1:
        return num * getnum(num - 1)
        print(num)
    else:
        return num
        print(num)a


result = getnum(5)
print(result)

第二段程式碼執行結果:

#我的問題:
我在函數當中加入了print(num)的語句,為什麼第一段程式碼可以印出5 4 3 2 1然後120,為什麼第二段結果當中,只是120,卻沒有5 4 3 2 1?照理說我已經把print語句都寫上去了,就應該要印啊。

ringa_lee
ringa_lee

ringa_lee

全部回覆(1)
Ty80

第二段程式碼中的return之後的print不能執行的.函數回傳了.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!