Aston7 发表于 2021-7-14 22:09:29

关于如何用递归转10进制为2进制

def bin1 ( x ):
    sum1 = ''
    if x != 0:
      x = ban(x % 2)
      sum1 = str(x) + sum1
        x = ban(x // 2)
    else:
      return sum1

pop = input('输入一个十进制数:')

print(ban1(pop))

原网址https://fishc.com.cn/forum.php?mod=viewthread&tid=44925&extra=page%3D1%26filter%3Dtypeid%26typeid%3D398
第 0 题

不清楚需不需要 sum1 = '' ,虽然下面的 sum1 = str(x) + sum1 给sum1赋了值,但再调用 ban1() 是不是会让sum1清空呢?
但题目要求输出字符串又该怎么办?

感觉自己对递归了解很肤浅,希望能得到一些指导{:10_291:}


3236654291 发表于 2021-7-14 22:20:03

感觉你打错字了,你的函数是bin1,结尾又写ban1
是打错了吗?

3236654291 发表于 2021-7-14 22:23:32

而且x = ban(x % 2)的ban又是什么
是内置函数吗
感觉没见过{:10_247:}

Aston7 发表于 2021-7-14 22:27:51

3236654291 发表于 2021-7-14 22:23
而且x = ban(x % 2)的ban又是什么
是内置函数吗
感觉没见过

啊,是打错了!是bin1 !就是我上面定义的函数

Aston7 发表于 2021-7-15 02:42:26

这个贴子的问题已经在 另一个无意发出同名贴(<font color="red">[已解决]</font>关于如何用递归转10进制为2进制
https://fishc.com.cn/thread-199009-1-1.html
(出处: 鱼C论坛)
)中解决了! 感谢支持!
页: [1]
查看完整版本: 关于如何用递归转10进制为2进制