x = input("输入一段英文文本")
total = 0 #表示一个单词的字符数
k = 0 #表示间隔符号的数量
h = 0 #表示每个单词第一个字符的位置
L = []
D = [[]]
n = 0
gs = 0
e = -1
for i in x:
if (i >= "a" and i <= "z") or (i >= "A" and i <= "Z") or (i >= "0" and i <= "9") or x == "_":
while (k >= 1): #如果间隔符号的数量大于等于1
if total <= 15: #如果单词数不超过15
L.append(x[e-k-total+1:e-k+1]) #取前15个字符
else:
L.append(x[e-k-total+1:e-k-total+16]) #取上一个单词第一个字符和最后一个字符的位置
h = e + 1 #h为新单词第一个字符的位置
k = 0 #间隔符号数清零
total = 0 #单词字符数清零
total += 1 #单词字符数加一
elif total > 80: #if以外的情况表示输入为间隔符号或者输入超过80个字符数
print("输入非法")
elif i == "#": #“#”号表示文本的结束
L.append(x[h:h+total]) #将最后一个单词加入列表
for j in set(L): #统计单词的词频
f = L.count(j)[n]
if D[L.count(j)][n] == False: #如果列表为空,则放入一个单词
D[L.count(j)][n] == j #[n]L.count(j)代表单词的数量
else:
while D[L.count(j)][n] != False: #如果数量重复
n = n + 1 #将单词放入二维列表内
D[L.count(j)][n] == j #赋值
n = 0 #将n清零进行下一次运算
break
else:
if (total != 0): #上一个单词的字符数不为零,且此时为间隔符号
k += 1 #间隔符号的数量加一
else:
e += 1
continue #如果有多个间隔符号,则跳过或者跳过文本前的间隔符号
e += 1
for i in D: #统计单词的个数
for j in i:
if D[i][j] != False:
gs = gs + 1
print(gs) #输出单词个数
b = gs // 10
for i in range(0, b+1): #输出结果
for j in i:
print("%d:%s"%(L[i][j], i))
为什么这个代码输出不了?