python版本 3.9(重装了个系统,没备份,干脆装了个最新的python体验)
pycharm 2020.3.5(一样)
问题描述:
下面有一个字符串,要求是拆分出他有多少个子串。
0100010001110111011
话不多说,先上代码在分析
var=‘0100010001110111011’
num = 1
sep = 1
var_n = []
while sep < len(var):
var_n.append(var[0:sep])
for i in range(len(var) - sep):
if var[i + 1:i + sep + 1] in var_n:
continue
else:
var_n.append(var[i + 1:i + sep + 1])
sep += 1
num += len(var_n)
print(num)
开始分析:
这个问题其实很简单,我们使用一个num来表示子串的个数,再使用一个sep来表示分割的间隙,在使用用临时列表来更新每一次的子串。
大体思路就是,先通过字符串切分,将这字符串按照顺序,分成一个一个的子串,然后对这些子串进行子串的提取,再把每一次提取的子串数量加起来就OK。
以上用的的一些函数,len()统计长度,var[],字符串的切分,append,末尾添加元素,