鱼C论坛

 找回密码
 立即注册
查看: 404|回复: 1

[已解决]课后作业求助

[复制链接]
发表于 2020-3-31 22:28:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问题如下:
0. 使用递归编写一个十进制转换为二进制的函数(要求采用“取2取余”的方式,结果与调用bin()一样返回字符串形式)。
我的代码:
>>> def bin_1(n1):
        n2 = n1%2
        if n1 == 0:
                return 0
        elif n1 == 1:
                return 1
        else:
                n1 = n1//2
                return print(bin_1(n1),n2,sep='',end='')

        
>>> bin_1(10)
10None1None0
找不出问题,求助。
最佳答案
2020-3-31 22:31:31
需要返回而不是打印
>>> def bin_1(n1):
        n2 = n1%2
        if n1 == 0:
                return '0'
        elif n1 == 1:
                return '1'
        else:
                n1 = n1//2
                return bin_1(n1) + str(n2)

        
>>> bin_1(10)
'1010'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-31 22:31:31 | 显示全部楼层    本楼为最佳答案   
需要返回而不是打印
>>> def bin_1(n1):
        n2 = n1%2
        if n1 == 0:
                return '0'
        elif n1 == 1:
                return '1'
        else:
                n1 = n1//2
                return bin_1(n1) + str(n2)

        
>>> bin_1(10)
'1010'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 17:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表