鱼C论坛

 找回密码
 立即注册
查看: 1360|回复: 8

[已解决]同样的程序写法不一样,但实现的功能是一样的,这样的情况下还怎么判断代码优点缺点

[复制链接]
发表于 2020-9-13 20:50:14 | 显示全部楼层 |阅读模式

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

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

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

小甲鱼的代码
def Dec2Bin(dec):
    result = ''
   
    if dec:
        result = Dec2Bin(dec//2)
        return result + str(dec%2)
    else:
        return result

print(Dec2Bin(62))

我的代码
def binary(dec):
    if dec == 1:
        return str(1)
    else:
        yushu = dec % 2
        return binary(dec // 2)

dec = int(input('输入需要转为二进制的十进制数'))
result = binary(dec)
print('0b',result))+str(yushu)

最佳答案
2020-9-13 21:18:55
qin_yin 发表于 2020-9-13 21:09
之前写好了的,然后测试一些想法的时候忘记改回来了

好吧,这么几行的小程序,区别不大的
真正要考虑运行效率的,是处理几万条数据的时候吧,其他的不用考虑太多
都选择学python了,还不就是为了学起来简单点么,也无所谓吧,
否则就会选择学效率高的编程语言了,比如C++
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-13 20:56:54 | 显示全部楼层
你的代码都无法执行吧。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-13 21:00:46 | 显示全部楼层
你的程序是有问题的。昨天我帮你修改了的。你怎么又改回去了?
def binary(dec):
    if dec <= 1:
        return str(dec)
    else:
        yushu = dec % 2
        return binary(dec // 2)+str(yushu)

dec = int(input('输入需要转为二进制的十进制数'))
result = binary(dec)
print('0b'+result)
这两个程序基本没有差别,时间消耗也一样,空间消耗也基本一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-13 21:09:34 | 显示全部楼层
疾风怪盗 发表于 2020-9-13 20:56
你的代码都无法执行吧。。。。。。。

之前写好了的,然后测试一些想法的时候忘记改回来了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-13 21:10:09 | 显示全部楼层
sunrise085 发表于 2020-9-13 21:00
你的程序是有问题的。昨天我帮你修改了的。你怎么又改回去了?

这两个程序基本没有差别,时间消耗也一样 ...

后面又改动了下,忘记改回去了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-13 21:12:09 | 显示全部楼层
qin_yin 发表于 2020-9-13 21:10
后面又改动了下,忘记改回去了

if那里是小于等于1,否则输入0就报错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-13 21:18:55 | 显示全部楼层    本楼为最佳答案   
qin_yin 发表于 2020-9-13 21:09
之前写好了的,然后测试一些想法的时候忘记改回来了

好吧,这么几行的小程序,区别不大的
真正要考虑运行效率的,是处理几万条数据的时候吧,其他的不用考虑太多
都选择学python了,还不就是为了学起来简单点么,也无所谓吧,
否则就会选择学效率高的编程语言了,比如C++
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-13 21:36:41 | 显示全部楼层
sunrise085 发表于 2020-9-13 21:12
if那里是小于等于1,否则输入0就报错了

谢谢提醒
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-13 21:38:26 | 显示全部楼层
疾风怪盗 发表于 2020-9-13 21:18
好吧,这么几行的小程序,区别不大的
真正要考虑运行效率的,是处理几万条数据的时候吧,其他 ...

几万条的数据想想就有点恐怖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 17:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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