擅长:python、mysql、java
<p>这是因为事件是这样计数的。顺便说一句,这台机器正在做正确的事情,你不知怎的错过了我要给你看的东西</p>
<p><strong>String=abba</strong>
<strong>子字符串1=ab</strong>
<strong>子字符串2=ba</strong></p>
<pre><code># ab and ba count in stringg abbabba
# ab = 1 ['ab'babba]
# ba = 1 [ab'ba'bba]
# ab = 1 [abb'ab'ba]
# ba = 1 [abbab'ba']
</code></pre>
<p>因此,从上面可以看到<code>ab = 2</code>的计数和<code>ba = 2</code>的计数。所以当加起来的时候,它会给你总共<code>4</code></p>
<p>所以,这一行<code>print(stringg.count(substring1) + stringg.count(substring2))</code>做的是正确的工作。它不会忽略您想要的已经包含的子字符串</p>
<p>要做到这一点,我们可以这样做:</p>
<pre><code>substring1 = 'ab'
substring2 = 'ba'
stringg = 'abbabba'
i = 0
count = 0
while i <= len(stringg) - 2:
if stringg[i]+stringg[i+1] == substring1 or stringg[i]+stringg[i+1] == substring2:
count += 1
i += 2
else:
i += 1
print(count) # OUTPUT 3
</code></pre>