請問大佬為什么在內部函數會報錯?望解惑,謝謝
def calc_prod(lst):
? ? def prod(x): #在這里如果指定一個x,為什么會報錯
? ? ? ? s=1
? ? ? ? for x in lst:
? ? ? ? ? ? s=s*x
? ? ? ? return s?
? ? return prod
f = calc_prod([1, 2, 3, 4])
print f()
程序會報出,exactly 1 argument(0 given)
def calc_prod(lst):
? ? def prod(x): #在這里如果指定一個x,為什么會報錯
? ? ? ? s=1
? ? ? ? for x in lst:
? ? ? ? ? ? s=s*x
? ? ? ? return s?
? ? return prod
f = calc_prod([1, 2, 3, 4])
print f()
程序會報出,exactly 1 argument(0 given)
2020-03-13
舉報
2020-03-13
1、那個x的意義又是什么呢?畢竟for x in lst 的使用x會自動編程列表對應項。
2、如果這個函數有參數,那在被點用的使用就要傳遞一個參數
2020-04-25
因為你后面調用函數執行的是 f()? 這里并沒有傳入參數? 后續執行的時候你prod(x)的x是不存在的