Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで1つの英数字の文字列内にある数字の合計を見つけるプログラム


「0」から「9」までの数字と小文字の英字を含む英数字の文字列があるとします。 sに存在する数の合計を見つける必要があります。数字が連続している場合は、それらを1つの数字と見なします。

したがって、入力がs ="hello25world63power86"のような場合、25 + 63 + 86 =174

であるため、出力は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

  1. リストの累積合計を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、累積合計でリストを作成する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # cumulative sum def Cumulative(l):    new = []    cumsum = 0    for element in l:       cumsum += element       new.append(cumsum) &

  2. 配列の合計を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列が与えられた場合、与えられた配列の合計を計算する必要があります。 ここでは、ブルートフォースアプローチに従うことができます。つまり、リストをトラバースし、各要素を空の合計変数に追加します。最後に、合計の値を表示します。 以下で説明するように、組み込みの合計関数を使用して別のアプローチを実行することもできます。 例 # main arr = [1,2,3,4,5] ans = sum(arr,n) print ('Sum of the array is '