鱼C论坛

 找回密码
 立即注册
查看: 41|回复: 2

[已解决]小甲鱼第17讲的最后一题求组

[复制链接]
最佳答案
0 
发表于 2020-9-16 22:23:46 | 显示全部楼层 |阅读模式

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

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

x
  1. def Dec2Bin(dec):
  2.     temp = []
  3.     result = ''
  4.    
  5.     while dec:
  6.         quo = dec % 2
  7.         dec = dec // 2
  8.         temp.append(quo)

  9.     while temp:
  10.         result += str(temp.pop())
  11.    
  12.     return result

  13. print(Dec2Bin(62))
复制代码

为什么最后要result + = str(temp.pop())
result = ''在这里是做什么用,为什么要剔除temp的最后一个元素,我删掉这个剔除元素的过程输出的为什么是空白
最佳答案
2020-9-16 22:31:55
result + = str(temp.pop())
temp内是上面得到的二进制结果(列表)
调用pop方法弹出的同时返回弹出值,也以字符串拼接的形式连接在了result(字符串)里
最后打印的字符串就是你要的结果
少了这句,result就是空的,打印当然是空的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
96 
发表于 2020-9-16 22:31:55 | 显示全部楼层    本楼为最佳答案   
result + = str(temp.pop())
temp内是上面得到的二进制结果(列表)
调用pop方法弹出的同时返回弹出值,也以字符串拼接的形式连接在了result(字符串)里
最后打印的字符串就是你要的结果
少了这句,result就是空的,打印当然是空的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
96 
发表于 2020-9-16 22:39:54 | 显示全部楼层
哦对了,由于十进制转二进制时先得到的为二进制低位,
所以上述操作其实也在同时实现了将顺序反过来的效果
必须有的

如果答案满意,还请设个最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2020-9-28 01:28

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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