首先,對於令人困惑的標題感到抱歉,但它是我想到描述它的唯一方法。最近我接觸到的一門課程提出了一個問題,即用一個參數(x)定義一個函數,該函數返回具有一個參數(y)的另一個函數,該參數本身會返回x * y。我們被要求寫了這一點,無論是使用我選擇了lamdas正常功能或拉姆達的,寫這個:Python將值傳遞給返回語句函數
def create_multiplier (x):
return lambda y: y * x
input1 = int(raw_input("Please enter your initial number for our multiplier"))
multi = create_multiplier(input1)
input2 = int(raw_input("Please enter your second number for our multiplier"))
print input1, " times by ", input2, " = " ,multi(input2)
但是我現在好奇他們是如何期待我們只能對函數來實現它,起初我以爲也許你會在第一個函數中將你的第一個數字傳遞給x,然後把第二個函數傳遞給y,並且因爲我們在第一個函數內部返回第二個函數,我們可以使用x就像嵌套變量一樣。這被擊落快速
我明白,如果你不願意答覆,因爲這是課程,但這只是讓我好奇,你是如何實現它,而無需預先設定我們在一個lambda的x,也許我只是看它奇怪而且顯而易見。謝謝你的回覆
爲什麼你所有的句子都是通過? – Groditz
對不起,但從來沒有聽說過這個術語,你能解釋一下嗎? – ulthanex
這就是當你把你所有的句子連接在一起的時候,沒有逗號或者任何東西,這真的很煩人。 – Groditz