用python写10进制转2进制小程序
小白写py
前言:写这个代码是为了增强2进制转换的记忆, 代码详细介绍了 2进制转换的过程,如果是 *大神请果断到页尾 * 欢迎修改并更新!
首先定义两个变量,l1,l2
l1 = 你要转换的10进制数
l1 = int(input('请输入要转换的10进制数:'))
l2 = 转化为2进制的数
l2 = []
因为函数循环问题,当l1 = 1时会循环好几次,不能跳出循环
接着定义两个函数qyd,qyx
def qyx(l1):#调用新赋值的 l1
while l1 % 2 == 0:
l2.insert(0, 0) # 如果l1%2等于0,则列表l2索引0处添加0
l1 //= 2 # l1=l1/2
if l1 == 1:
l2.insert(0, 1)
print('结果在这:',l2)
else:
qyd(l1=l1)#li再赋值
print(l1, l2)
def qyd(l1):#调用新赋值的 l1
while l1 % 2 == 1: # 取余与0比较
l2.insert(0, 1) # 如果l1%2不等于0,则列表l2索引0处添加1
l1 //= 2 # l1=l1/2
if l1 <= 1:
l2.insert(0, 1)
print('结果在这:',l2)
else:
qyx(l1 = l1)#li再赋值
print(l1,l2)
主程序
while l1 % 2 == 0: #debug 在这
qyx(l1 = l1)#当l1 % 2 == 0时,调用def qyx,并赋值
else:
qyd(l1 = l1)#当l1 % 2 != 0时,调用def qyd,并赋值
所有代码
# 10进制装换2进制
l1=int(input('请输入要转换的10进制数:'))
print('如果有多个答案,请选择第一个!')
l2 = []
print('YSF出品')
print('ysfcn.website')
print('万水青山总是情,点个关注行不行!')
#定义两个函数qyx qyd
def qyx(l1):
while l1 % 2 == 0:
l2.insert(0, 0) # 如果l1%2等于0,则列表l2索引0处添加0
l1 //= 2 # l1=l1/2
if l1 == 1:
l2.insert(0, 1)
print('结果在这:',l2)
else:
qyd(l1=l1)
print(l1, l2)
def qyd(l1):
while l1 % 2 == 1: # 取余与0比较
l2.insert(0, 1) # 如果l1%2不等于0,则列表l2索引0处添加1
l1 //= 2 # l1=l1/2
if l1 <= 1:
l2.insert(0, 1)
print('结果在这:',l2)
else:
qyx(l1 = l1)
print(l1,l2)
while l1 % 2 == 0: #debug 在这
qyx(l1 = l1)
else:
qyd(l1 = l1)