擅长:python、mysql、java
<p>我们不需要为每个字母都使用函数,只需要使用一个函数,它将一次一个字母地遍历字符串,并检查它是否与前一个字母相同</p>
<p>如果是同一个字母,我们将临时计数器增加1。
如果没有,则重置计数器,并将计数器值与字母一起存储在临时数组中</p>
<p>在函数结束时,它将使用临时数组并通过它进行解析,以连续输出每个字母在字符串中的次数</p>
<p>您可以使用我编写的代码:</p>
<pre class="lang-py prettyprint-override"><code>
def countTheLetters(input_string):
arr = input_string.split(',')
curr_letter = arr[0]
count = 1
counter_arr = []
if (len(input_string) > 1):
for i in range(1, len(arr)):
if curr_letter == arr[i]:
count += 1
else:
counter_arr.append({"Letter": curr_letter, "Count": count})
count =1
if i == len(arr) - 1:
counter_arr.append({"Letter": arr[i], "Count": count})
curr_letter = arr[i]
for letter_counted in counter_arr:
print(str(letter_counted["Count"]) + " " + str(letter_counted["Letter"]))
else:
print("1 " + input_string)
countTheLetters("L,L,L,L,R,L,R,L,A,A")
</code></pre>
<p>这是这段代码的输出:</p>
<pre><code>4 L
1 R
1 L
1 R
1 L
2 A
</code></pre>
<p>编辑:我修改了代码,以便能够处理字符串长度为1或2的情况</p>