Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมค้นหาผลรวมของตัวเลขที่อยู่ภายในสตริงตัวอักษรและตัวเลขหนึ่งตัวใน Python


สมมติว่าเรามีสตริงตัวอักษรและตัวเลขที่มีตัวเลขตั้งแต่ "0" ถึง "9" และตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก เราต้องหาผลรวมของตัวเลขที่มีอยู่ใน s หากตัวเลขเรียงกันให้ถือว่าเป็นตัวเลขเดียว

ดังนั้น หากอินพุตเป็น s ="hello25world63power86" ผลลัพธ์จะเป็น 174 เพราะ 25+63+86 =174

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ret :=0, สกุลเงิน :=0

  • สำหรับแต่ละ ch ใน s ทำ

    • ถ้า ch เป็นตัวเลข แสดงว่า

      • curr :=10 * curr + (ch เป็นจำนวนเต็ม)

    • มิฉะนั้น

      • ret :=ret + curr

      • สกุลเงิน :=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