a2421480 发表于 2018-12-13 07:33:44

看代码

使用递归编写一个十进制转换为二进制的函数(要求采用“取2取余”的方式,结果与调用bin()一样返回字符串形式)

结果与调用bin()一样返回字符串形式 是什么意思 ,为什么代码最后打印出一个整形?

def Dec2Bin(dec):
    result = ''
   
    if dec:
      result = Dec2Bin(dec//2)
      return result + str(dec%2)
    else:
      return result

print(Dec2Bin(62))

SJD 发表于 2018-12-13 08:11:23

如果你type(Dec2Bin(62)),你会发现,返回的数据类型是字符串的

heidern0612 发表于 2018-12-13 08:12:43

你在IDLE里面试一下就明白了,调用bin()后,会返回一个字符串。

比如你现在在shell里,你调用Bin(10),会返回一个“0b1010”的字符串。


代码最后就是简单的把10进制的62转换成2进制,str成自字符串输出了。

a2421480 发表于 2018-12-13 20:08:59

heidern0612 发表于 2018-12-13 08:12
你在IDLE里面试一下就明白了,调用bin()后,会返回一个字符串。

比如你现在在shell里,你调用Bin(10),会 ...

说得我不是很懂

a2421480 发表于 2018-12-13 20:11:05

result 怎么 和 str 进行拼接??

heidern0612 发表于 2018-12-14 07:58:19

本帖最后由 heidern0612 于 2018-12-14 08:32 编辑

a2421480 发表于 2018-12-13 20:11
result 怎么 和 str 进行拼接??

result结果不是个字符串吗?字符串+字符串 不就是拼接么?

例如"5"+"20",返回的是字符串"520"。
页: [1]
查看完整版本: 看代码