使用多个输入转换为十六进制
Convert to hexadecimal with multiple inputs
所以我正在编写一个不使用 int 或 hex 的 base 16 到 base 10 转换代码。我不确定如何让它适用于多个十六进制值。所以样本输入类似于:48、42、6D、62、59、61,它应该是:HBmbYa。这是代码:
def __getdecdigit(digit):
digits = ['0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F'']
for x in range (len(digits)):
if digit == digits[x]:
return x
def hextodec (hexnum):
decNum=0
power = 0
for digits in range (len(hexnum), 0, -1):
decNum = decNum + 16 ** power * __getdecdigit(hexnum[digits-1])
power+=1
return decNum
hexnum = input("What is ur string? ")
hexnum = hexnum.upper()
decNum = hextodec(hexnum)
asciii = chr(decNum)
print(asciii)
试试这个:
def __getdecdigit(digit):
digits = ['0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F']
for x in range (len(digits)):
if digit == digits[x]:
return x
def hextodec (hexnum):
decNum=0
power = 0
for digits in range (len(hexnum), 0, -1):
decNum = decNum + 16 ** power * __getdecdigit(hexnum[digits-1])
power+=1
return decNum
hexnum = input("What is ur string? ") # 48, 42, 6D, 62, 59, 61
hexnum = hexnum.upper()
hexls=hexnum.split(',')
res=[]
for val in hexls: # just wrap it with loop
result=hextodec(val.strip())
res.append(chr(result))
print(''.join(res))
输出
>>> What is ur string? 48, 42, 6D, 62, 59, 61
>>> HBmbYa
所以我正在编写一个不使用 int 或 hex 的 base 16 到 base 10 转换代码。我不确定如何让它适用于多个十六进制值。所以样本输入类似于:48、42、6D、62、59、61,它应该是:HBmbYa。这是代码:
def __getdecdigit(digit):
digits = ['0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F'']
for x in range (len(digits)):
if digit == digits[x]:
return x
def hextodec (hexnum):
decNum=0
power = 0
for digits in range (len(hexnum), 0, -1):
decNum = decNum + 16 ** power * __getdecdigit(hexnum[digits-1])
power+=1
return decNum
hexnum = input("What is ur string? ")
hexnum = hexnum.upper()
decNum = hextodec(hexnum)
asciii = chr(decNum)
print(asciii)
试试这个:
def __getdecdigit(digit):
digits = ['0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F']
for x in range (len(digits)):
if digit == digits[x]:
return x
def hextodec (hexnum):
decNum=0
power = 0
for digits in range (len(hexnum), 0, -1):
decNum = decNum + 16 ** power * __getdecdigit(hexnum[digits-1])
power+=1
return decNum
hexnum = input("What is ur string? ") # 48, 42, 6D, 62, 59, 61
hexnum = hexnum.upper()
hexls=hexnum.split(',')
res=[]
for val in hexls: # just wrap it with loop
result=hextodec(val.strip())
res.append(chr(result))
print(''.join(res))
输出
>>> What is ur string? 48, 42, 6D, 62, 59, 61
>>> HBmbYa