Python-十进制、十六进制互转

Python-十进制转十六进制

input_str = input("请输入待转十进制数:")
deal_list = []

if input_str.isdecimal():
    input_int = int(input_str)
    while True:
        if input_int != 0:
            n = input_int % 16
            deal_list.append(n)
            input_int //= 16
        elif input_int == 0:
            deal_list.reverse()
            break

    deal_list = [str(k) for k in deal_list]
    for j in deal_list:
        if j == '10':
            t = deal_list.index(j)
            deal_list[t] = 'A'
        elif j == '11':
            t = deal_list.index(j)
            deal_list[t] = 'B'
        elif j == '12':
            t = deal_list.index(j)
            deal_list[t] = 'C'
        elif j == '13':
            t = deal_list.index(j)
            deal_list[t] = 'D'
        elif j == '14':
            t = deal_list.index(j)
            deal_list[t] = 'E'
        elif j == '15':
            t = deal_list.index(j)
            deal_list[t] = 'F'
        else:
            pass

    hex_str = ''.join(deal_list)
    print("该十进制数转化为十六进制数为:%s" % hex_str)
else:
    print("输入有误,请重新输入!")



Python-十六进制转十进制

input_str = input("请输入待转十六进制数:")
hex_tuple = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F')
hex_int = 0
is_pass = True

frist_deal = input_str.upper()
for s in frist_deal:
    if s in hex_tuple:
        pass
    else:
        print("所输入待转十六进制数有误,请重新输入!")
        is_pass = False
        break

if is_pass:
    hex_list = [str(j) for j in frist_deal]
    for u in hex_list:
        if u == 'A':
            i = hex_list.index('A')
            hex_list[i] = '10'
        elif u == 'B':
            i = hex_list.index('B')
            hex_list[i] = '11'
        elif u == 'C':
            i = hex_list.index('C')
            hex_list[i] = '12'
        elif u == 'D':
            i = hex_list.index('D')
            hex_list[i] = '13'
        elif u == 'E':
            i = hex_list.index('E')
            hex_list[i] = '14'
        elif u == 'F':
            i = hex_list.index('F')
            hex_list[i] = '15'
        else:
            pass

    t = len(hex_list) - 1
    for y in hex_list:
        hex_int += int(y) * 16 ** t
        t -= 1

    print("该十六进制数转化为十进制数为:%d" % hex_int)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值