ধরুন আমাদের কাছে "0" থেকে "9" এবং ছোট হাতের ইংরেজি অক্ষর সহ একটি আলফানিউমেরিক স্ট্রিং আছে। আমাদের s-এ উপস্থিত সংখ্যার যোগফল বের করতে হবে। যদি সংখ্যাগুলি পরপর হয় তবে সেগুলিকে একক সংখ্যায় বিবেচনা করুন৷
সুতরাং, যদি ইনপুটটি s ="hello25world63power86" এর মত হয়, তাহলে আউটপুট হবে 174 কারণ 25+63+86 =174
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
ret :=0, curr :=0
-
প্রতিটি ch-এর জন্য s, do
-
যদি 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