在Python中找出一个字母数字字符串中包含数字的总和

在Python中找出一个字母数字字符串中包含数字的总和

假设有一个字母数字字符串s,其中包含从”0″到”9″的数字和小写英文字母。我们必须找出在s中出现的数字的总和。如果数字是连续的,那么将它们视为一个数字。

因此,如果输入是s = “hello25world63power86″,那么输出将是174,因为25+63+86 = 174。

为了解决这个问题,我们将按照以下步骤进行-

  • ret := 0, curr := 0

  • 对于s中的每个ch进行以下操作

    • 如果ch是数字,则
      • curr := 10 * curr + (将ch解释成一个整数)
    • 否则,
      • ret := ret + curr

      • curr := 0

  • 返回 ret + curr

例子

让我们看一下以下实现以更好地理解

from string import digits
def solve(s):
   ret = 0
   curr = 0
   for ch in s:
      if ch in digits:
         curr = 10 * curr + int(ch)
      else:
         ret += curr
         curr = 0
   return ret + curr

s = "hello25world63power86"
print(solve(s))

输入

"hello25world63power86"

输出

174

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程