python計算一個字串中所有數字的和
阿新 • • 發佈:2018-12-28
有兩種
一種是這樣的
''' 計算字串中所有數字的和 1.字串中只有小寫字母和數字 2.數字可能連續,也可能不連續 3.連續數字要當做一個數處理 如:'12abc34dc5' => 12 + 34 + 5 => 51 ''' def str_sum(str1): lenght = len(str1) num = 0 sum = 0 for i in range(lenght): if str1[i].isdigit(): num += 1 if str1[i - num ].islower(): continue if str1[i].islower(): sum += int(str1[i-num:i]) num = 0 #上面的程式碼沒有計算字串末尾出現的數字 #這一步非常重要,加上字串末尾出現的數字 if str1[-1].isdigit(): sum+=int(str1[lenght-num:lenght]) return sum a = '1000asd100asd10asd1' print(str_sum(a))
第二種
只計算單個數字的和
def str_sum(str1):
num = []
sum = 0
for i in str1:
if i.isdigit():
num.append(i)
for j in num:
sum += int(j)
print(sum)
a = 'd15asdsa455'
str_sum(a)