Python 关于递归十进制转二进制的代码
下面这段代码,最后else后面返回的n是什么?是f(0)吗?def f(x):
n = ''
if x:
n = f(x//2)
return n + str(x%2)
else:
return n 最后的else返回的是空的字符串,x没有参与运算 Cpig 发表于 2018-6-5 19:32
最后的else返回的是空的字符串,x没有参与运算
为什么是空的字符串呢?可以解释一下吗? Cpig 发表于 2018-6-5 19:32
最后的else返回的是空的字符串,x没有参与运算
n 在if 里面不是有赋值为f(x//2)吗?为什么返回的是空字符串呢? hi 请参考
def f(x):#以x=0为例
n = ''
if x:
n = f(x//2)
return n + str(x%2)
else: #x=0时,走else分支,即:if x 语句未生效,n的值仍为 ''
return n
>>> f(0)
'' sonichuang 发表于 2018-6-5 20:54
n 在if 里面不是有赋值为f(x//2)吗?为什么返回的是空字符串呢?
如果因为里面点n是局部变量
页:
[1]