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 次瀏覽

啟動你的職業

完成課程並獲得認證

開始
廣告
© . All rights reserved.