Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình tìm tổng các số trong chuỗi alphanumeric trong Python

Cho chuỗi s chứa chữ số 0-9 và chữ cái thường. Tìm tổng các số xuất hiện trong chuỗi. Các chữ số liên tiếp được gộp thành một số.

Ví dụ: → kết quả (25+63+86=174).

Thuật toán giải quyết (O(n))

  1. Khởi tạo (tổng), (số đang xây dựng)
  2. Duyệt từng ký tự :
    • Nếu là chữ số:
    • Ngược lại:
  3. Trả về (cộng số cuối nếu chuỗi kết thúc bằng số)

Ví dụ minh họa

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))

Đầu vào

"hello25world63power86"

Đầu ra

174