我正在研究将整数转换为十六进制的函数。用两个赞美和处理负面的工作还有更多的工作要做,但现在我只是努力让核心逻辑工作。以下是我有:用循环中的字典键替换列表元素
def intToHexaBin(num):
num = abs(num)
symdict={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"}
rlist=[]
while(num!=0):
rlist.append(str(num%16))
num//=16
rlist=rlist[::-1]
for i in rlist:
if int(i) in symdict:
print("Not sure how to swap list element for a dict value")
print(''.join(rlist))
intToHexaBin(4512)
我想输出看起来像这样在这个例子中:
11A0
我试图用一个遍历rlist
迭代和检查,看是否元素rlist
与symdict
中的键匹配。如果是这样,我想交换列表元素为它匹配的字典值。因此,如果在列表中找到10
,它将在词典中找到,并且该列表中的元素将更改为"A"
匹配的词典值。我不知道该从哪里出发
使用'十六进制()'函数出了问题?十六进制()方法可以转换为int,例如,十六进制(4512)'输出'0x11a0' –
十六进制()方法绝对有用,但我正在通过将整数转换为小数来完成此工作,以便更好地了解转换的工作原理。另外这是编码的好习惯。 –