qq404574811 发表于 2020-5-13 09:41:47

第017讲 十进制转二进制的函数直接用str可以不

看了下参考答案, 有点不懂, 直接用str()做不香吗?

def shijiner(x):
    result = str()
    while x > 0:
      result = str(x%2) + result
      x = x//2
    return result
{:10_312:}

Twilight6 发表于 2020-5-13 09:45:15

都一样,写result=''只是为了新手更好理解,而你这里str()也就是='' 看上去高级点,实际上并不会,
直接赋值是直接赋值''空字符串,而你这里是调用str()函数来生成一个空字符串,严格来说效率不如直接赋值把,
不过这都是简单代码,说不上什么效率,能做出来都行~~~

永恒的蓝色梦想 发表于 2020-5-13 10:05:02

我还是第一次听说有人用 str() 不用 '' 的

qq404574811 发表于 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))

qq404574811 发表于 2020-5-13 10:12:31

永恒的蓝色梦想 发表于 2020-5-13 10:05
我还是第一次听说有人用 str() 不用 '' 的

咔咔, 我那只是忘加了{:10_277:}, 我语法学的很差

永恒的蓝色梦想 发表于 2020-5-13 10:14:53

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

这是 ...

方便新手理解

Twilight6 发表于 2020-5-13 10:18:33

qq404574811 发表于 2020-5-13 10:12
咔咔, 我那只是忘加了, 我语法学的很差

同意楼上哈哈

louvice 发表于 2020-5-13 10:23:01

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

这是 ...

你好这里的循环 dec,dec指的是?这一句没看懂

Twilight6 发表于 2020-5-13 10:26:48

louvice 发表于 2020-5-13 10:23
你好这里的循环 dec,dec指的是?这一句没看懂

dec 是函数的参数啊

qq404574811 发表于 2020-5-13 10:38:05

louvice 发表于 2020-5-13 10:23
你好这里的循环 dec,dec指的是?这一句没看懂

是第一句里Dec2Bin(dec)的dec

louvice 发表于 2020-5-13 10:39:33

qq404574811 发表于 2020-5-13 10:38
是第一句里Dec2Bin(dec)的dec

感谢感谢,刚刚没看到。那个while temp什么时候可以结束循环呢?

qq404574811 发表于 2020-5-13 10:41:24

louvice 发表于 2020-5-13 10:39
感谢感谢,刚刚没看到。那个while temp什么时候可以结束循环呢?

当dec = 0 的时候结束循环

louvice 发表于 2020-5-13 10:56:35

qq404574811 发表于 2020-5-13 10:41
当dec = 0 的时候结束循环

那temp不是列表吗?列表什么状态会为0

qq404574811 发表于 2020-5-13 23:42:25

louvice 发表于 2020-5-13 10:56
那temp不是列表吗?列表什么状态会为0

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

https://fishc.com.cn/forum.php?mod=viewthread&tid=126144&highlight=17%BD%B2
页: [1]
查看完整版本: 第017讲 十进制转二进制的函数直接用str可以不