鱼C论坛

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

[已解决]编写一个将十进制转换为二进制的函数,要求采用“除2取余”(补脑链接)的方式,结...

[复制链接]
发表于 2020-3-11 09:23:06 | 显示全部楼层 |阅读模式

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

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

x
  1. def dec2bin(dec):
  2.         temp = []
  3.         result = ''

  4.         while dec:
  5.             remainder = dec % 2
  6.             dec = dec // 2
  7.             temp.append(remainder)

  8.         while result:
  9.             result += str(temp.pop())
  10.             return result
复制代码


我感觉这个代码没问题啊,但是就是打印不出正确的值,请各位大神帮忙看下问题在哪?谢啦谢啦
最佳答案
2020-3-11 09:38:09
两个问题:
1.第二个循环不是循环result,是循环temp
2.return result那一句缩进错误,应该在循环外面
修改代码如下:
  1. def dec2bin(dec):
  2.         temp = []
  3.         result = ''

  4.         while dec:
  5.             remainder = dec % 2
  6.             dec = dec // 2
  7.             temp.append(remainder)

  8.         while temp:
  9.             result += str(temp.pop())
  10.         return result
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-11 09:26:08 | 显示全部楼层
代码得这么写:
  1. def dec2bin(dec):
  2.         temp = []
  3.         result = ''

  4.         while dec:
  5.             remainder = dec % 2
  6.             dec = dec // 2
  7.             temp.append(remainder)

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

  11. print(dec2bin(9))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-11 09:38:09 | 显示全部楼层    本楼为最佳答案   
两个问题:
1.第二个循环不是循环result,是循环temp
2.return result那一句缩进错误,应该在循环外面
修改代码如下:
  1. def dec2bin(dec):
  2.         temp = []
  3.         result = ''

  4.         while dec:
  5.             remainder = dec % 2
  6.             dec = dec // 2
  7.             temp.append(remainder)

  8.         while temp:
  9.             result += str(temp.pop())
  10.         return result
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-11 13:49:38 | 显示全部楼层
wuqramy 发表于 2020-3-11 09:38
两个问题:
1.第二个循环不是循环result,是循环temp
2.return result那一句缩进错误,应该在循环外面

谢谢 wuqramy!经过你的指点,我发现问题了,纠结了一早上! 感谢感谢,手动ღ( ′・ᴗ・` )比心!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-11 13:51:28 | 显示全部楼层

感谢大神,手动ღ( ′・ᴗ・` )比心!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-1 04:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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