如何在 Python 中将 str 转换为 int?

时间:2021-04-14 03:44:45

标签: python string integer

如何将我的 3 位十进制消息从 str 转换为 int?我试过 print(int(list1)),但出现错误 invalid literal for int() with base 10: '136 462 380 542 525 933 949 347 185 849 942 359 177'

这是我的代码

def hex_to_decimal(hex_str):
    decimal_number = int(hex_str, 16)
    return decimal_number
                 
Message = "66a9b2d0b1baf7932416c65a28af3c89" 
print("Hexa message: ", s)

decimal = hex_to_decimal(s)
print("Decimal message: ", decimal)


#Divide decimal message into 3 digits
n = 3
list = [str(decimal)[i:i+n] for i in range(0, len(str(decimal)), n)]
list1 = ' '.join(list)
print('Decimal message in 3 digits: ', list1 )
print(type(list1))
print(int(list1))

1 个答案:

答案 0 :(得分:0)

您可以使用 sliced 按字符数分割字符串。

from more_itertools import sliced

def hex_to_decimal(hex_str):
    decimal_number = int(hex_str, 16)
    return decimal_number
                 
Message = "66a9b2d0b1baf7932416c65a28af3c89" 
print("Hexa message: ", s)

decimal = hex_to_decimal(s)
print("Decimal message: ", decimal)


#Divide decimal message into 3 digits
n = 3
list_ = list(sliced(str(decimal), n))
list1 = ' '.join(list_)
print('Decimal message in 3 digits: ', list1 )
print(type(list1))
print(int(''.join(list1)))

注意您面临的错误,是因为您要将 sting 列表转换为 int,但首先您需要将它们连接在一起形成一个数字,然后使用 int 转换选项

相关问题