|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 ofey404 于 2018-2-1 12:07 编辑
来自零基础017.
运行结果如下:
实验: tobin(10) == (此处有两个空格)
----------------分割线----------------
代码如下, 我觉得出错的是第四行.
为什么会出现这样的问题:
tobin(x)没有输出值, 输出了两个空格.
下附小甲鱼的参考答案.
另外:
为什么要加上
while temp:
result += str(temp.pop())
这一行, 先把所有的位数放在一个列表里?
如果直接处理字符串的话, 我想可以少一个循环呀.
- def tobin(x):
- result = ''
- while x :
- result == result + str(x % 2)
- x //= 2
- return result
- print('实验: tobin(10) == ', tobin(10))
复制代码
- 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))
复制代码
def tobin(x):
result = ''
while x :
result == result + str(x % 2) 你这一句用一个=就好了
x //= 2
return result
print('实验: tobin(10) == ', tobin(10))
|
|