python練習題之計算字符串中所有字符得和


第二題:計算字符串中所有數字的和
1.字符串中只有小寫字母和數字
2.數字可能連續,也可能不連續
3.連續數字要當做一個數處s='1234adg3g11's1 = ""
for i in s :
   if i.isdigit():
      s1=s1+i
   else:
      s1=s1+" "
lt = s1.split(" ")
m= 0
for a in lt :
   if a.isdigit():
       m=m+int(a)
print(m)

 



*解決思想:把字符串中得數字調出來,用if else將數字和其他字符分隔開,並且將其他字符格式化,統一化,為下一步得分割做好准備。沒做出來得原因對遍歷對split()函數返回一個列表



第二種解決方案,用字符串得replace替換函數解決。總體思想和上一個一樣。
def sum_of_num(s):
   for x in s :
      if not x.isdigit :
         s=s.replace(x," ")
    lt = s.split("")
    a = o
    for i in lt :
       if i.isdigit :
          a=a+int(i)
   return a

 

第三種解決思想,是遍歷字符串,判斷是字母得話,變成數字,然后繼續判斷下一個元素是否為數字。不是數字得話,直接把剛才得整數加上。
num,num1=0,0
for i in s :
   if i.isdigit():
      num= num*10+int(i)    #重要一步,將連續的數字直接轉換成整數
   else:
      num1=num1+num
      num = 0   #將剛才的整數變量清零。
num1=num1+num
print(num1)

 

































免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM