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)