我在有关 Python 的 Visual Studio 上工作。我有一个十六进制输入看起来像:
0110
我将此十六进制数转换为二进制数,它看起来像:
00000001 0001000
一段时间后,我想创建一个动态数组以将这些值保留在数组中,并根据给定的输入更改大小,例如它可以是01100c并且数组大小将增加到 3。所以,我使用以下代码:
dynamic_arraylist = [ ]
print("Enter a hex for converting binary");
hexdec = input("Enter any number in Hexadecimal form: ");
bin_value = bin(int(hexdec,16))[2:]
bin_value = (8 - (len(bin_value)% 8)) * '0' + bin_value
bytes = [bin_value[i:i+8] for i in range(0, len(bin_value), 8)]
' '.join(bytes)
number_length = len(' '.join(bytes))
elements = ' '.join(bytes)
for i in range(number_length):
data = int(elements)
dynamic_arraylist.append(data)
但是我得到一个错误,因为data = int(elements)这行代码可能不理解我的代码,它给出了一个错误:
ValueError("invalid literal for int() with base 10
有没有办法解决这个问题?
翻过高山走不出你
呼啦一阵风
相关分类