私は整数を16進数に変換する関数を作成しています。 2つの褒め言葉とネガを扱うためにはもっと多くの作業が必要ですが、今はコアロジックが機能するよう取り組んでいます。ここで私が持っているものです。リスト要素をループ内の辞書キーに置き換えます
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
がリストにある場合、それは辞書にあり、リスト内のその要素は一致するdict値"A"
に変更されます。ここからどこに行くのかわかりません
は論外 '進()'関数を使用していますか?申し訳ありませんが、あなたが自分自身をロールしたいと思っているのかどうかは分かりませんが、 'hex()'メソッドはintを変換することができます。例えば 'hex(4512)'が '0x11a0'を出力する –
hex()私はintを小数点に変換するためにこれをやっているので、変換の仕組みをよく理解しています。さらに、これはコーディングに適しています。 –