我正在研究將整數轉換爲十六進制的函數。用兩個讚美和處理負面的工作還有更多的工作要做,但現在我只是努力讓核心邏輯工作。以下是我有:用循環中的字典鍵替換列表元素
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' –
十六進制()方法絕對有用,但我正在通過將整數轉換爲小數來完成此工作,以便更好地瞭解轉換的工作原理。另外這是編碼的好習慣。 –