零基础入门学习python17讲的作业
设计一个十进制数转化为二进制的程序,但我写的代码运行出来总是少一位数,例如10转化成了101,有大佬帮忙看看哪里出问题了,要怎么改吗?def two():
x = int(input('请输入要转换成二进制的数:'))
num = 0
a = x
c = 0
while a > 0:
a = a//2
b = a % 2
if b == 1:
num = num + b * (10 ** c)
c = c + 1
return '0b{}'.format(num) 这两行颠倒一下
b = a % 2
a = a//2 def two():
a = int(input('请输入要转换成二进制的数:'))
num = ""
c = []
while a > 0:
b = a % 2#取余数
a = a // 2
c.append(b) 每次的余数存放在列表中
while c:
num += str(c.pop())#去除列表中的每个数字变成字符串然后拼接起来
print( '{}'.format(num)) #格式化输出
two()
页:
[1]