0基础入门学习python 23、24讲课后作业
def Dec2Bin(dec):result = ''
if dec:
result = Dec2Bin(dec//2)
return result + str(dec%2)
else:
return result
print(Dec2Bin(62))
这里的result分别代表什么东西,一直没看懂result + str(dec%2)是什么情况 字符串往后面加啊,转化为二进制,返回的字符串,模二取余 f-wind 发表于 2020-1-19 10:45
字符串往后面加啊,转化为二进制,返回的字符串,模二取余
主要是 result = Dec2Bin(dec//2)对result赋值的不知道是不是字符串。。而且
if dec:
result1 = Dec2Bin(dec//2)
return result1 + str(dec%2)
也是可以的,所以这里的result和一开始定义的result好像不是一个东西,然后我想来想去,头就炸了 你这个if还要联系后面的else一起看,这个result的确跟一开始定义的不是一个,下面else才是同一个 f-wind 发表于 2020-1-19 11:22
你这个if还要联系后面的else一起看,这个result的确跟一开始定义的不是一个,下面else才是同一个
result = Dec2Bin(dec//2)
return result + str(dec%2)
这里的result = Dec2Bin(dec//2),难道result不是Dec2Bin(dec//2)回溯的结果吗。。。。 qq614704680 发表于 2020-1-19 11:34
result = Dec2Bin(dec//2)
return result + str(dec%2)
这里的result = Dec2Bin(dec//2),难道result不 ...
。。想明白了
result = Dec2Bin(dec//2)这里的result是递归结束时返回的结果。。
回溯时在str(dec%2)里面回溯的。。。
谢啦! return result + str(dec%2)
result 是一开始的字符串?还是新建的(同名)?
页:
[1]