मान लीजिए कि हमारे पास "0" से "9" तक के अंकों के साथ एक अल्फ़ान्यूमेरिक स्ट्रिंग है और अंग्रेज़ी के छोटे अक्षर हैं। हमें उन संख्याओं का योग ज्ञात करना है जो s में मौजूद हैं। यदि अंक क्रमागत हैं तो उन्हें एक ही संख्या में मानें।
इसलिए, यदि इनपुट s ="hello25world63power86" जैसा है, तो आउटपुट 174 होगा क्योंकि 25+63+86 =174
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
रेट :=0, कर्व :=0
-
प्रत्येक ch in s के लिए, करें
-
यदि ch एक अंक है, तो
-
curr :=10 * curr + (ch एक पूर्णांक के रूप में)
-
-
अन्यथा,
-
रिट:=रिट + कर्व
-
वर्तमान:=0
-
-
-
रिटर्न रिट + कर्व
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
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