|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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))
没太看懂result += str(temp.pop()),因为要转换为字符串,那么temp.pop(),删除最后一个元素的意思是什么?
hi 原因如下(以20为例):
- def Dec2Bin(dec): #1. 用户输入Dec2Bin(20)
- temp = []
- result = ''
-
- while dec:
- quo = dec % 2
- dec = dec // 2
- temp.append(quo)
- # 2. while循环结束后,temp的值是 [0, 0, 1, 0, 1] ;而我们需要的是10100 ,因此需要通过list pop()方法从后向前将元素弹出来 再 组合
- while temp:
- result += str(temp.pop()) #3.通过 pop()方法从后向前将元素弹出来 再 组合,从而得到10100
-
- return result
- print(Dec2Bin(20))
复制代码
|
|