本帖最后由 sunrise085 于 2020-8-26 10:01 编辑
你要好好学习一下基础啊!
if后面是一个表达式,只要表达式为真则执行if后的语句,为假则执行else后面的语句
表达式为假的情况如下:表达式结果为逻辑假:False,数字零:0、0.0,空类型:[]、""、{}等等
2**3的执行过程:
第一次进入power函数,执行的时候if判断,y为3,为真,执行if后的语句
return x * power(x , y - 1),这时先递归调用 power(x , y - 1)
第二次进入power函数,执行的时候if判断,y为2,为真,执行if后的语句
return x * power(x , y - 1),这时先递归调用 power(x , y - 1)
第三次进入power函数,执行的时候if判断,y为1,为真,执行if后的语句
return x * power(x , y - 1),这时先递归调用 power(x , y - 1)
第四次进入power函数,执行的时候if判断,y为0,为假,执行else后的语句
return 1,返回到第三次调用
第三次递归是power(x , y - 1)结果为1,return x*1,即 return 2,返回到第二次调用
第二次递归是power(x , y - 1)结果为2,return x*2,即 return 4,返回到第一次调用
第一次递归是power(x , y - 1)结果为4,return x*4,即 return 8,返回函数调用结果
最终得到8