leafu 发表于 2019-9-7 23:27:49

023讲课后作业漏洞

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

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

print(Dec2Bin(62))

上面是小甲鱼给的代码,实测print(Dec2Bin(0))无返回值,大佬们可否改进一下,顺带使其如同bin()一样,前缀带有0b?

jinlovelive 发表于 2019-9-7 23:40:11

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

print(Bin(62))

leafu 发表于 2019-9-8 10:46:34

jinlovelive 发表于 2019-9-7 23:40


这也是一种想法,不过我更想的是把它集结到一个函数中去,而不是分拆成两个函数

jinlovelive 发表于 2019-9-8 22:50:18

leafu 发表于 2019-9-8 10:46
这也是一种想法,不过我更想的是把它集结到一个函数中去,而不是分拆成两个函数

建个内部函数呗,一样的

leafu 发表于 2019-9-12 20:47:10

winsome8538 发表于 2020-2-24 16:49:07

感谢楼主分享

心驰神往 发表于 2020-11-17 11:52:37

求人不如求己

_荟桐_ 发表于 2020-11-17 12:43:38

碰运气

_荟桐_ 发表于 2020-11-17 12:44:08

再来一次

hornwong 发表于 2020-11-17 16:33:13

{:5_95:}
页: [1]
查看完整版本: 023讲课后作业漏洞