鱼C论坛

 找回密码
 立即注册
查看: 661|回复: 4

第17课,第三题

[复制链接]
发表于 2018-2-13 00:40:06 | 显示全部楼层 |阅读模式

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

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

x
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))


红处是什么意思那?绿的的部分已经求出temp=[1,1,1,1,1,0]的序列,只要把这个翻转再转成字符串 result=str(temp.reverse())这样写行吗???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-13 02:34:07 | 显示全部楼层
本帖最后由 laurence5181 于 2018-2-13 02:36 编辑

綠色部分你得到temp=[1,1,1,1,1,0]的序列
紅色部分是利用 temp.pop() 函数移除列表中的一个元素(默认最后一个元素),并且"返回该元素的值"。最後加回去result得出結果 → "011111"

result=str(temp.reverse())这样写是不行的
因為list.reverse()该方法是没有"返回值",但是会对列表的元素进行反向排序
沒有返回值 result = 'None'

一個有返回值 一個沒有返回值   要注意
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-13 07:24:50 | 显示全部楼层
你自己试下就会发现不行。
def Dec2Bin(dec):
    temp = []
    result = ''

    while dec:
        quo = dec % 2
        dec = dec // 2
        temp.append(quo)
    temp.reverse()
    for t in temp:
        result += str(t)
    return result


print(Dec2Bin(62))
可以这样。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-13 08:51:05 | 显示全部楼层
result = str(temp.reverse()) 会是字符串形式的“011111”吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-27 20:15:32 | 显示全部楼层
铁棍阿童木 发表于 2018-2-13 08:51
result = str(temp.reverse()) 会是字符串形式的“011111”吗?

好像数组不能直接这样转换为字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 02:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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