最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)進(jìn)制轉(zhuǎn)化的示例代碼

 更新時間:2021年10月27日 09:08:34   作者:路飛QAQw  
本文主要介紹了python實(shí)現(xiàn)進(jìn)制轉(zhuǎn)化的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

做題思路

(1)掌握十進(jìn)制轉(zhuǎn)化為其他進(jìn)制的方法 (2)分析和解決如何將整數(shù)和小數(shù)分離,以及他們的存儲方式。(3)如何設(shè)計(jì)python函數(shù)去實(shí)現(xiàn)它們 (4)了解輾轉(zhuǎn)相除法和列表如何運(yùn)用

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、運(yùn)用的知識點(diǎn)

(1)鍵盤輸入函數(shù),列表和類型轉(zhuǎn)化 (2)運(yùn)算符的理解(/ 和 //的區(qū)別) (3) 輾轉(zhuǎn)相除法求余數(shù) (4)棧和隊(duì)列的知識

二、例題展示

1.題目

代碼如下(示例):

輸入一個自然數(shù),輸出它的二進(jìn)制、八進(jìn)制、十六進(jìn)制表示形式

2.代碼

代碼如下(示例):

# 自然數(shù) = 十進(jìn)制數(shù)
print("----------------------")
print("------  0.小數(shù)  -------")
print("------  1.整數(shù)  -------")
flag = int(input())

# 初始化a,b的值
a = 0
b = 0.0
x = ""

# 判斷是否為小數(shù)或者整數(shù)
if flag == 0:
    x = input("請任意輸入一個小數(shù):")
    # a為整數(shù)部分,b為小數(shù)部分
    a = int(float(x))
    b = float(x) - a

elif flag == 1:
    x = input("請任意輸入一個整數(shù):")
    a = int(x)

else:
    print("輸入格式錯誤")

"""
三者都是用輾轉(zhuǎn)相除法求解
"""
list_en = ['A','B','C','D','E','F']
list_1 = []          # 收集整數(shù)部分
list_2 = []          # 收集小數(shù)部分
list_3 = []          # 收集整數(shù)部分
list_4 = []          # 收集小數(shù)部分
list_5 = []          # 收集整數(shù)部分
list_6 = []          # 收集小數(shù)部分


# 求二進(jìn)制數(shù)
def fun_two(n,m):
    if m == 0.0:              #整數(shù)部分
        while n != 0:
            i = n % 2
            list_1.insert(0,i)    # 類似于壓棧
            n = n // 2

    else :
        count = 0
        while n != 0:
            i = n % 2
            list_1.insert(0,i)    # 類似于壓棧
            n = n // 2

        while count != 10:
            m = m * 2
            j = int(m)
            m = m - j
            list_2.append(j)
            count = count + 1

# 求八進(jìn)制數(shù)
def fun_eight(n, m):
    if m == 0.0:  # 整數(shù)部分
        while n != 0:
            i = n % 8
            list_3.insert(0, i)  # 類似于壓棧
            n = n // 8
    else:
        count = 0
        while n != 0:
            i = n % 8
            list_3.insert(0, i)  # 類似于壓棧
            n = n // 8

        while count != 10:
            m = m * 8
            j = int(m)
            m = m - j
            list_4.append(j)
            count = count + 1


# 求十六進(jìn)制數(shù)
def fun_sixteen(n, m):
    if m == 0.0:  # 整數(shù)部分
        while n != 0:
            i = n % 16
            list_5.insert(0, i)  # 類似于壓棧
            n = n // 16
    else:
        count = 0
        while n != 0:
            i = n % 16
            list_5.insert(0, i)  # 類似于壓棧
            n = n // 16

        while count != 10:
            m = m * 16
            j = int(m)
            m = m - j
            list_6.append(j)
            count = count + 1
        print("yes")

def print_str(list1):
    s = ""
    for item in list1:
        if item == '.':
            item = '.'
        elif int(item) > 10:
            l = item - 10
            item = list_en[l]
        s = s + str(item)
    return s

# 二進(jìn)制求解
fun_two(a,b)

# 八進(jìn)制求解
fun_eight(a,b)

# 十六進(jìn)制求解
fun_sixteen(a,b)

list_1.append('.')
list_1.extend(list_2)

list_3.append('.')
list_3.extend(list_4)

list_5.append('.')
list_5.extend(list_6)

s_two = print_str(list_1)
s_eight = print_str(list_3)
s_sixteen = print_str(list_5)

# 測試結(jié)果
if __name__ == '__main__':
  print(a)
  print(b)
  print(type(a))
  print(type(b))
  print(list_1)
  print(list_3)
  print(list_5)
  print("二進(jìn)制值:", end = "")
  print(s_two)
  print("八進(jìn)制值:", end="")
  print(s_eight)
  print("十六進(jìn)制值:", end="")
  print(s_sixteen)

總結(jié)

結(jié)果展示:

請?zhí)砑訄D片描述

請?zhí)砑訄D片描述

請?zhí)砑訄D片描述

請?zhí)砑訄D片描述

到此這篇關(guān)于python實(shí)現(xiàn)進(jìn)制轉(zhuǎn)化的示例代碼的文章就介紹到這了,更多相關(guān)python 進(jìn)制轉(zhuǎn)化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

乐亭县| 高台县| 板桥市| 沂南县| 工布江达县| 四子王旗| 射阳县| 河源市| 双桥区| 兴义市| 紫阳县| 手游| 西乡县| 河池市| 临邑县| 卢湾区| 旬阳县| 永城市| 抚宁县| 井研县| 仙游县| 乌拉特后旗| 寿光市| 吉林省| 盈江县| 临泉县| 晋州市| 西林县| 交城县| 百色市| 肃宁县| 鄢陵县| 中西区| 石台县| 台中市| 甘南县| 唐河县| 台江县| 贡山| 兴安盟| 休宁县|