python - 如何在 Python 中将 str 转换为 int?
问题描述
如何将我的 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))
解决方案
您可以使用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 转换选项
推荐阅读
- java - 使用 Java 8 仅在列表中查找重复的字符串属性
- c# - 在 Gridview 上设置三个 if else 条件
- node.js - 当我执行 npm run start 时出现错误
- c++ - .wav 文件上的快速傅里叶变换给出了奇怪的结果
- javascript - 使用 Javascript 在 Youtube 上切换电影模式
- php - PHP 是否支持递归处理 xi:include 元素?
- javascript - 我如何检查 XML 标记中的属性是否为未定义的 JavaScript (Mirth Connect)
- php - 如何排除 Mecab 解析器功能障碍
- android - 通知栏Android中的自定义布局
- java - 将 SimpleEntry 添加到 SortedMap