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

更新日期:2021 年 10 月 11 日

515 次浏览

启动你的职业

完成课程并获得认证

开始
广告