标签:*** map for while 问题 方法 sum code 5*
s=‘ab34aa243dd78eww89‘
#s=‘ab34aa000dd78eww89‘
#方法1:
result=‘‘ for i in s: if i.isalpha(): result+=‘*‘ else: result+=i print(result) i=0 temp=0 ss=‘‘ #**34**243**78***89 while i<len(result): if result[i].isdigit(): temp+=int(result[i]) else: if temp!=0: ss+=str(temp) ss+=result[i] temp=0 i+=1 ss+=str(temp) print(ss)
#方法2 ,如果**之间的数字都为0 上述方法可能有问题,需要按此方法优化;
#s=‘ab34aa243dd78eww89‘ s=‘ab34aa000dd78eww89‘ ss=‘‘ temp=‘‘ for i in s: if i>=‘a‘and i<=‘z‘: if temp!=‘‘: ss+=str(sum(map(int,temp))) ss+=‘*‘ temp=‘‘ else: temp+=i ss+=str(sum(map(int,temp))) print(ss)
将字符串s='ab34aa243dd78eww89' 处理为 '**34**243**78***89',然后对数字求和,结果为'**7**9**15***17'
标签:*** map for while 问题 方法 sum code 5*
原文地址:https://www.cnblogs.com/xiaoxiao075/p/10337983.html