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

โปรแกรมหาผลรวมตัวเลขใน Alphanumeric String ใน Python

ให้สตริง s ประกอบตัวเลข 0-9 และตัวอักษร หาผลรวมตัวเลขที่ติดกันถือเป็นจำนวนเดียว

ตัวอย่าง: s="hello25world63power86" → 174 (25+63+86)

ขั้นตอน (Single Pass)

  1. ret=0, curr=0
  2. วน ch ใน s:
    • ถ้าเป็น Digit: curr = 10*curr + int(ch)
    • มิฉะนั้น: ret += curr; curr = 0
  3. คืน 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))  # Output: 174

อินพุต

"hello25world63power86"

เอาต์พุต

174