目標是將函數和數字作爲參數傳遞給另一個函數,然後遞歸調用函數n次。我實現了這兩種方式。此版本按預期工作,打印Hello World
3次:Python:傳遞函數並遞歸調用
def do_n(fx, n):
if n <= 0:
return
else:
print(fx)
do_n(fx, n-1)
def return_greeting():
return "Hello World"
do_n(return_greeting(), 3)
此版本不起作用。它打印Hello World
只有一次,然後似乎在第一時間通過後,就失去了被調用函數:
def do_n(fx, n):
if n <= 0:
return
else:
fx
do_n(fx, n-1)
def print_greeting():
print("Hello World")
do_n(print_greeting(), 3)
有人可以解釋爲什麼第二個版本不print_greeting
導致被稱爲3次,打印Hello World
3倍到屏幕?
你可以張貼實際的代碼? '定義'這裏會引發'SyntaxError' ... – mgilson