Ich versuche, ein Stück Code zu machen, der eine 8-stellige binäre Zeichenkette in hexadezimale umwandelt, aber es scheint nichts auszugeben, ich denke, dass das Problem darin besteht, nachzuschlagen die Zeichen in der Binärdatei, aber ich bin mir nicht sicher. Der Code ist wie folgt:Python - Wie man mehrere Zeichen in einer Zeichenkette nachschaut
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)
Jede Hilfe wäre dankbar, danke!
warum nicht 'hex (int ('1010101', 2))'? – jeremycg
Beachten Sie, dass 'range (2)' '' 0, 1', nicht '1, 2' zählt, also werden Sie' number [4: 7] 'zuerst und dann' number [0: 3] ' –
das hat es behoben, indem ich zuerst den zweiten Charakter machte, ich nahm immer an, dass es 1 war, dann 2 statt 0 dann 1 –