鱼C论坛

 找回密码
 立即注册
查看: 1060|回复: 13

[已解决]第017讲 十进制转二进制的函数直接用str可以不

[复制链接]
发表于 2020-5-13 09:41:47 | 显示全部楼层 |阅读模式

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

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

x
看了下参考答案, 有点不懂, 直接用str()做不香吗?
def shijiner(x):
    result = str()
    while x > 0:
        result = str(x%2) + result
        x = x//2
    return result
最佳答案
2020-5-13 10:14:53
qq404574811 发表于 2020-5-13 10:11
额 我的意思是为什么答案里要引用列表再转换成字符串, 不是问""的问题,我可能没解释清楚不好意思

这是 ...

方便新手理解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-13 09:45:15 | 显示全部楼层
都一样,写result=''只是为了新手更好理解,而你这里str()也就是='' 看上去高级点,实际上并不会,
直接赋值是直接赋值''空字符串,而你这里是调用str()函数来生成一个空字符串,严格来说效率不如直接赋值把,
不过这都是简单代码,说不上什么效率,能做出来都行~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 10:05:02 | 显示全部楼层
我还是第一次听说有人用 str() 不用 '' 的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-13 10:11:02 | 显示全部楼层
Twilight6 发表于 2020-5-13 09:45
都一样,写result=''只是为了新手更好理解,而你这里str()也就是='' 看上去高级点,实际上并不会,
直接赋 ...

额 我的意思是为什么答案里要引用列表再转换成字符串, 不是问""的问题,我可能没解释清楚不好意思

这是原答案, 方便对照
def Dec2Bin(dec):
    temp = []
    result = ''

    while dec:
        quo = dec % 2
        dec = dec // 2
        temp.append(quo)

    while temp:
        result += str(temp.pop())

    return result

print(Dec2Bin(62))

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

使用道具 举报

 楼主| 发表于 2020-5-13 10:12:31 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-5-13 10:05
我还是第一次听说有人用 str() 不用 '' 的

咔咔, 我那只是忘加了, 我语法学的很差
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 10:14:53 | 显示全部楼层    本楼为最佳答案   
qq404574811 发表于 2020-5-13 10:11
额 我的意思是为什么答案里要引用列表再转换成字符串, 不是问""的问题,我可能没解释清楚不好意思

这是 ...

方便新手理解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 10:18:33 | 显示全部楼层
qq404574811 发表于 2020-5-13 10:12
咔咔, 我那只是忘加了, 我语法学的很差

同意楼上哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 10:23:01 | 显示全部楼层
qq404574811 发表于 2020-5-13 10:11
额 我的意思是为什么答案里要引用列表再转换成字符串, 不是问""的问题,我可能没解释清楚不好意思

这是 ...

你好这里的循环 dec,dec指的是?这一句没看懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 10:26:48 | 显示全部楼层
louvice 发表于 2020-5-13 10:23
你好这里的循环 dec,dec指的是?这一句没看懂

dec 是函数的参数啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-13 10:38:05 | 显示全部楼层
louvice 发表于 2020-5-13 10:23
你好这里的循环 dec,dec指的是?这一句没看懂

是第一句里Dec2Bin(dec)的dec
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 10:39:33 | 显示全部楼层
qq404574811 发表于 2020-5-13 10:38
是第一句里Dec2Bin(dec)的dec

感谢感谢,刚刚没看到。那个while temp什么时候可以结束循环呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-13 10:41:24 | 显示全部楼层
louvice 发表于 2020-5-13 10:39
感谢感谢,刚刚没看到。那个while temp什么时候可以结束循环呢?

当dec = 0 的时候结束循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 10:56:35 | 显示全部楼层
qq404574811 发表于 2020-5-13 10:41
当dec = 0 的时候结束循环

那temp不是列表吗?列表什么状态会为0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-13 23:42:25 | 显示全部楼层
louvice 发表于 2020-5-13 10:56
那temp不是列表吗?列表什么状态会为0

看一下这个哥们解释的,应该就明白了

https://fishc.com.cn/forum.php?m ... ;highlight=17%BD%B2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-21 07:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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