我试着去理解它。 请有人回答我输出是怎么来的“2”
def add_one(n):返回n+1
def my_function(n):如果n<5:返回add_one(n)否则:返回add_one(n-5)
my_function(my_function(10))
首先,请使用代码标签。 其次,你只需要思考。
10不小于5,所以它会变成6,因为你要减去5加1。
6不小于5,所以它会变成2,因为你要减去5加1。
您将调用该函数两次,因此输出为2。
2是正确的输出。
首先计算外部my_function()
的内部my_function(10)
参数。 由于N>; 5
,add_one(10-5)
给出6。
那么您就有了my_function(6)。 仍然n>; 5
,add_one(6-5)
给出2。
记住add_one()
函数只是将1添加到n
参数中
您正在运行my_function(my_function(10))
首先求解my_function(10)
,my_function(10)
将是add_one(5)
,即6
,现在计算my_function(6)
,即add_one(1)
,即2