関数とスコープ・ラムダ計算問題
以下のコードを実行したときの出力結果として正しいものはどれか。 def outer(x): def inner(y): return x + y return inner func = outer(10) result = func(7) + func(5) print(result)
A.32
✗ クロージャの動作を誤解しています。outer(10)で返された関数は、xの値を10として保持します。
B.22
✗ func(7)の計算が誤っています。func(7)=10+7=17であり、12ではありません。
C.27
✗ 加算の計算が誤っています。func(7)+func(5)=17+15=32ではなく、正確に計算してください。
D.35← 正解
✓ 正解です。outer(10)で返された関数funcは、x=10を保持します。func(7)=10+7=17、func(5)=10+5=15、17+15=35です。
「関数とスコープ・ラムダ」の他の問題
以下のコードを実行したときの出力結果として正しいものはどれか。
def multiply(x, y=3):
r…以下のコードを実行したときの出力結果として正しいものはどれか。
square = lambda x: x ** 2
a…以下のコードを実行したときの出力結果として正しいものはどれか。
def calculate(a, b, c=2):
…以下のコードを実行したときの出力結果として正しいものはどれか。
numbers = [2, 3, 4, 5]
resu…以下のコードを実行したときの出力結果として正しいものはどれか。
def func(a, b, *args):
…以下の記述で誤っているものはどれか