Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm tổng các chữ số bên trong một chuỗi chữ và số trong Python

Giả sử chúng ta có một chuỗi chữ số s với các chữ số từ "0" đến "9" và các chữ cái tiếng Anh viết thường. Chúng ta phải tìm tổng các số có trong s. Nếu các chữ số liên tiếp nhau thì coi chúng thành một số duy nhất.

Vì vậy, nếu đầu vào là s =​​"hello25world63power86", thì đầu ra sẽ là 174 vì 25 + 63 + 86 =174

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • ret:=0, curr:=0

  • đối với mỗi ch trong s, thực hiện

    • nếu ch là một chữ số thì

      • curr:=10 * curr + (ch là số nguyên)

    • nếu không,

      • ret:=ret + curr

      • curr:=0

  • trả về ret + curr

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau đây để hiểu rõ hơn

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