8桁のバイナリ文字列を16進数に変換するコードを作成しようとしていますが、何も出力していないようですが、バイナリの文字はわかりませんが。コードは次のとおりです:Python - 文字列内の複数の文字を検索する方法
number = input("Enter your binary number: ")
if len(number) < 8:
for i in range(0,8-len(number)):
newnumber = "0"+number
number = newnumber
endnumber = ["",""]
result = ""
for i in range(2):
if i == 1:
startnumber = number[0:3]
else:
startnumber = number[4:7]
if startnumber == "0000":
result = result + "0"
elif startnumber == "0001":
result = result + "1"
elif startnumber == "0010":
result = result + "2"
elif startnumber == "0011":
result = result + "3"
elif startnumber == "0100":
result = result + "4"
elif startnumber == "0101":
result = result + "5"
elif startnumber == "0110":
result = result + "6"
elif startnumber == "0111":
result = result + "7"
elif startnumber == "1000":
result = result + "8"
elif startnumber == "1001":
result = result + "9"
elif startnumber == "1010":
result = result + "A"
elif startnumber == "1011":
result = result + "B"
elif startnumber == "1100":
result = result + "C"
elif startnumber == "1101":
result = result + "D"
elif startnumber == "1110":
result = result + "E"
elif startnumber == "1111":
result = result + "F"
print(result)
ご協力いただきありがとうございます!
なぜ '進(int型( '1010101'、2))'行いたい場合は? – jeremycg
'range(2)'は '1、2'ではなく' 0,1 'をカウントするので、 'number [4:7]'を最初に実行し、 'number [0:3]'を実行することに注意してください。 –
素晴らしい、それは最初に2番目のキャラクターをやっていたことを修正しました。私はいつもそれが1ではなく2であったと仮定していました。0 –