python 计算字符串中所有数字的和

'''
第二题:计算字符串中所有数字的和
1.字符串中只有小写字母和数字
2.数字可能连续,也可能不连续
3.连续数字要当做一个数处理
如:'12abc34de5f' => 12 + 34 + 5 => 51
'''
def sum_of_num(s):

    m = 0

    sum = 0

    for i in range(len(s)):

        if ord(s[i]) >= 48 and ord(s[i]) <= 57:

            m = (m * 10) + int(s[i])                         #求得连续数字

            #print(m)

        else:

            sum = sum + m

            m = 0

    if ord(s[-1]) >= 48 and ord(s[-1]) <= 57:
         
         sum = sum + m
           

    return sum



print(sum_of_num('12abc34de5s1s2f'))












#print(ord('0'),ord('9'))

你可能感兴趣的:(python 计算字符串中所有数字的和)