022讲一个小问题
源代码如下,是要求用递归的方法实现pow函数def power(x, y):
if y:
return x * power(x, y-1)y:
else:
return 1
print(power(2, 3))
问一下大牛们,这个
if y:
return x * power(x, y-1)y:
是什么意思哇 if y:
是y>x 的意思吗 本帖最后由 Twilight6 于 2020-6-15 10:34 编辑
你要知道 只要 0 、空字符串、空列表、空字典等 都可以看作布尔类型的值为 False
只要是 非0 ,非空字符串、列表、字典 等 都可以看作布尔类型的值为 True
所以 if y 不是 y>x 的意思 是看 y 的取值来决定是 True 还是 False
对于这题只要 y 不等于 0,这 if 条件始终成立执行 if 代码块下面的 代码
狗宁 发表于 2020-6-15 10:32
if y:
是y>x 的意思吗
if y等于 if y不等于0. Twilight6 发表于 2020-6-15 10:33
所以 if y 不是 y>x 的意思 是看 y 的取值来决定是 True 还是 False
对于这题只要 y 不等于 0 ...
是不是这个意思:只要y不是0。都执行return x * power(x, y-1)这句。当y=0的时候就执行else heidern0612 发表于 2020-6-15 10:35
if y等于 if y不等于0.
懂了懂了,谢谢 狗宁 发表于 2020-6-15 10:37
是不是这个意思:只要y不是0。都执行return x * power(x, y-1)这句。当y=0的时候就执行else
是的~ if y:
return x * power(x, y-1)y:
这里你也写错了吧,retrun有:符号吗?
power()y这个y也有问题吧,格式错了,而且加上y你的power函数也错了
页:
[1]