我该如何将一个字符串拆分,然后再将其中的整数相加,下面的代码可以将单个整数相加,但如果我得到一个类似“a12b34”的字符串,我应该能够像下面的代码那样完成12+34而不是1+2+3+4。我可以用C语言来实现这一点,但我不知道如何在python中100%地做到这一点。在
strTest = str(raw_input("Enter an alphanumeric string: "))
total = 0
for ch in strTest:
if ch.isdigit() == True:
total = total + int(ch)
print total
用户^{} 要提取所有数字,请将它们转换为整数,然后将结果求和
只有当你有整数时才有效
编辑:
对于一般情况,您可能也有浮点数,请考虑以下事项:
^{pr2}$编辑2:
所以发生了什么:
1-
import re
将导入并加载re
模块,该模块用于根据提供的模式提取复杂的字符串格式。更多详细信息here2-
re.findall
将使用提供的模式返回s
中的所有匹配字符串r'-?\d+\d.>\d+'
3-模式
r'-?\d+\d.>\d+
分解(可以找到here):4-现在,
re.findall
将返回所有匹配项的列表:5-
map
将把这个列表中的每个元素从字符串转换成float,返回一个生成器:6-将
map
的结果传递给sum
将所有元素相加为它们的总和:相关问题 更多 >
编程相关推荐