0
点赞
收藏
分享

微信扫一扫

python 练习题-字符串区分字符和数字(连续的字符或数字当做一个整数)

题目:

 

1 字符串区分字符和数字(连续的字符或数字当做一个整数)
2 例如:
3 "a11hh1soiu666"
4 拆分结果:
5 a 11 hh 1 soiu 666
6
7 "a3bbb4315j43"
8 拆分结果:
9

 

思路:

1 使用 str.isdigit() 判断是否是数字,
2
3 如果是,继续判断上一个是否为数字,
4
5 是则将该数字和之前的组合
6
7

 

代码如下:

1 # @Author  :whyCai
2 # @Time :2021/2/17 14:15
3
4 class Solution:
5 def returnStr(self, s) -> str:
6 numDict = {} #最终结果
7 num = 0 #取数值的起始值
8 for i in range(len(s)):
9 #判断是否是数字
10 if s[i].isdigit() :
11 # 如果第一个是数字,默认key 是 '0',value是该数字
12 if i == 0:
13 numDict['0'] = s[i]
14 #判断上一个是否是数字,如果是,将上一个值 + 该数字
15 if s[i-1].isdigit() :
16 numDict[list(numDict)[-1]] = numDict[list(numDict)[-1]] + s[i]
17 # 如果上一个不是数字,key为之前的字符,value是该数字
18 else:
19 numDict[s[num:i]] = s[i]
20 num = i + 1
21 return numDict
22
23 print (Solution().returnStr('a3bbb4315j43'))

 

结果如下:

 

python 练习题-字符串区分字符和数字(连续的字符或数字当做一个整数)_git

 

 

python 练习题-字符串区分字符和数字(连续的字符或数字当做一个整数)_练习题_02

 



举报

相关推荐

0 条评论