用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)