用python寫10進制轉2進制小程序(超詳細)

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

此鏈接是對比數據用的

點擊這裏給我發消息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章