我寫了一個函數,它將一個正整數n作爲輸入,並遞歸地返回一個階乘值1 !, 2 !,的列表。 。 。 ,n !.功能多次打印
但是,我無法讓它只打印一次。我已經嘗試將打印語句放置在各種循環/位置中,並且始終打印至少3次。我也嘗試過打印函數,但它返回'None',它似乎只打印如果我在函數中有打印語句。爲什麼是這樣?
這裏是我的代碼:
def calc_Factorial(my_list, n, x, e):
if not my_list:
my_list.append(n-(n-1))
calc_Factorial(my_list, n, x, e)
else:
if len(my_list) < n:
my_list.append(my_list[e]*x)
calc_Factorial(my_list, n, x+1, e+1)
if len(my_list) == n:
print(my_list)
e = 0
x = 2
n = int(input('Enter number: '))
my_list = []
calc_Factorial(my_list, n, x, e)
'my_list.append(n-(n-1))':是不是隻有1?另外,爲什麼不直接使用for循環呢?我不知道爲什麼你需要重複一遍又一遍的功能。 – numbermaniac
是的,它會一直是1,不確定爲什麼我這樣寫。這個想法是練習遞歸,而不是僅僅通過for循環來實現,這就是爲什麼它看起來很混亂。 – Perplexityy