此函数用于将字符串中零之间的数字相加。例如('25025')变为25+25。但是,如果发送给测试字符串的字符串参数的字符串的开头和/或结尾处有一个0,它将在列表的开头/结尾处创建一个空格,并且不会进行计算。我可以向这个函数添加什么来过滤0和空格
def test_one(test_string):
test = test_string.split("0")
numbers=[int(x) for x in test]
print(sum(numbers))
test_one('2022022022')
test_one('02022020')
test_one('25025')
如果您同意保持当前的方法,那么应该这样做:
否则,您可以在生成器表达式中使用理解:
可以使用string方法之一strip()/rstrip()/lstrip()
关于这些方法的文档可以在here
替换此项:
有了这个:
这段代码是不言自明的:将
x
转换为整数并将其附加到列表if
bool(x)
是True
,因此跳过所有空字符串str.split("0")
将"0"
视为分隔符,不在结果中包含它的任何出现。查看the docs中的一些示例和更多说明相关问题 更多 >
编程相关推荐