第二題:計算字串中所有數字的和1.字串中只有小寫字母和數字
2.數字可能連續,也可能不連續
3.連續數字要當做乙個數處s='1234adg3g11's1 = ""
for i ins :
ifi.isdigit():
s1=s1+i
else
: s1=s1+"
"lt = s1.split("")
m=0for a in
lt :
ifa.isdigit():
m=m+int(a)
print(m)
*解決思想:把字串中得數字調出來,用if else將數字和其他字元分隔開,並且將其他字元格式化,統一化,為下一步得分割做好準備。沒做出來得原因對遍歷對split()函式返回乙個列表
第二種解決方案,用字串得replace替換函式解決。總體思想和上乙個一樣。
defsum_of_num(s):
for x in
s :
ifnot
x.isdigit :
s=s.replace(x,"")
lt = s.split(""
) a =o
for i in
lt :
ifi.isdigit :
a=a+int(i)
return a
第三種解決思想,是遍歷字串,判斷是字母得話,變成數字,然後繼續判斷下乙個元素是否為數字。不是數字得話,直接把剛才得整數加上。
num,num1=0,0for i in
s :
ifi.isdigit():
num= num*10+int(i) #
重要一步,將連續的數字直接轉換成整數
else
: num1=num1+num
num = 0 #
將剛才的整數變數清零。
num1=num1+num
print(num1)
字串練習題
1.請編寫乙個c函式,該函式可以實現將乙個整數轉為任意進製的字串輸出 include include char ch 16 函式宣告 將整數轉換為任意進製的字串 charchar int2sys int num,int n,int move bit int main else if n 8 else...
字串練習題
變數名是否合法 1.變數名只能由字母 數字 下劃線組成 2.只能以字母或下劃線開頭 源 while true s input 變數名 if s exit print 歡迎下次使用 break if s 0 isalpha or s 0 for i in s 1 if not i.isalnum or...
字串練習題
輸入兩個字串,從第乙個字串中刪除第二個字串中所有的字元。例如,輸入 they are students.和 aeiou 則刪除之後的第乙個字串變成 thy r stdnts.s1 input 請輸入第乙個字串 s2 input 請輸入第二個字串 s3 方法一 for i in s1 print i,...