擅长:python、mysql、java
<p>您应该使用外部<code>for</code>-loop来获取子字符串-1、2、3、…-和内部<code>for</code>-循环以创建具有此长度的所有子字符串</p>
<p><code>all()</code>没有像您预期的那样工作。它不检查元素是否相同,但检查所有元素是否为<code>bool(element)</code>给出<code>True</code>,并且所有非空字符串都给出<code>True</code></p>
<p>您可以使用<code>set()</code>检查所有元素是否相同-对于相同的元素<code>set()</code>将具有长度<code>1</code></p>
<pre><code>def solution(string):
lst = []
for length in range(1, len(string)+1):
#print('length:', length)
for x in range(0, len(string)-length+1):
substring = string[x:x+length]
#print(substring, len(set(substring)))
if len(set(substring)) == 1:
lst.append(substring)
return len(lst)
print(solution('zzzyz'))
</code></pre>