一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成的串。例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个。 注意在计算时,只算本质不同的串的个数。 请问,一字符串(程序中用X代替)有多少个不同的非空子串?请用python编写一段程序解决。
#小明的代码
var = 'X'
num = 1
sep = 1
var_n = []
while sep < len(var):
var_n.append(②)
for i in range(len(var)-sep):
if var[①] in var_n:
continue
else:
var_n.append(var[①])
sep += 1
③
var_n = []
print(num)
小明对于此问题尝试撰写了一部分程序,请帮助他选择合适的代码,补全该程序,使得该程序能正常运行,并回答以下问题。
(1)①处应填
( )A. i:i+sep+1
B.
i:i+1
C. i+1:i+sep
D.
i+1:i+sep+1
(2)②处应填
( )A. var[0:sep]
B. var[1:sep]
B. var[sep:1]
D.var[sep:0]
(3)③处应填
( )A.num = len(var_n)
B. num+ = len(var_n)
C.num- = len(var_n)
D. num=
len(var_n)!
(4)若字符串为0100110001010001,可能正确运算结果为
( )A.96
B.100
C.83
D.72