自学python的第六天,刚看到循环这一章。
除去bin()方法,很多人实现的方法我都没学到呢!
这里提供一种仅使用while,for,if 语句实现将十进制转化为二进制的方法,帮助一下跟我一样刚开始学的小伙伴。。。
import math
num = eval(input("请输入一个十进制整数:"))
judge = 1
binary = 0
rangeNum = int(math.log(num, 2) + 1)
while judge:
for i in range(rangeNum, 0, -1):
if num - 2 ** i >= 0:
num -= 2 ** i
binary += 10 ** i
elif num == 1 or num == 0:
binary += num % 2
judge = 0
else:
pass
else:
print(binary)