鱼C论坛

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

[已解决]十进制转换二进制,并和bin()函数的输出结果一样,也是字符串形式

[复制链接]
发表于 2018-3-19 15:48:06 | 显示全部楼层 |阅读模式

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

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

x
十进制转换二进制.png



def DecToBin(x):
    while x:
        if x %2 == 0:
            MOD1 = 0
            print(MOD1)
            x = x//2
        else:
            MOD2 = 1
            print(MOD2)
            x = x//2

DecToBin(10)


我可以把二进制转换的数可以得到,但是还要把结果转换成字符串,然后还需用reversed翻转这个字符串,这样才能完成我的程序。但是第二部开始我就不会了,大神提点提点一下
最佳答案
2018-3-19 16:08:41
用一个列表来存放x%2为真或假时的结果
最后将列表翻转,将每个元素依次打印即可
  1. def DecToBin(x):
  2.     lst = []
  3.     while x:
  4.         if x % 2 == 0:
  5.             lst.append(0)
  6.         else:
  7.             lst.append(1)
  8.         x //= 2
  9.     lst.reverse()
  10.     for each in lst:
  11.         print(each,end='')

  12. DecToBin(10)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-3-19 16:08:41 | 显示全部楼层    本楼为最佳答案   
用一个列表来存放x%2为真或假时的结果
最后将列表翻转,将每个元素依次打印即可
  1. def DecToBin(x):
  2.     lst = []
  3.     while x:
  4.         if x % 2 == 0:
  5.             lst.append(0)
  6.         else:
  7.             lst.append(1)
  8.         x //= 2
  9.     lst.reverse()
  10.     for each in lst:
  11.         print(each,end='')

  12. DecToBin(10)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-19 17:21:39 | 显示全部楼层
BngThea 发表于 2018-3-19 16:08
用一个列表来存放x%2为真或假时的结果
最后将列表翻转,将每个元素依次打印即可

原来这么简单,但是我没有想到,结合列表,方法,for循环这么巧妙的用。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-19 17:23:15 | 显示全部楼层
BngThea 发表于 2018-3-19 16:08
用一个列表来存放x%2为真或假时的结果
最后将列表翻转,将每个元素依次打印即可

最后结果变成字符串,你得这个程序里没有看见,但是我已经改成功了,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-19 17:24:03 | 显示全部楼层
金刚 发表于 2018-3-19 17:23
最后结果变成字符串,你得这个程序里没有看见,但是我已经改成功了,谢谢

print(str(each),end='')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-9 11:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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