我必须创建一个程序,该程序给定一个短语来计算字母在每个单词中出现的次数并以这种方式打印:

输入:

i see it

输出:
[('i', 1), ('s', 1), ('e', 2), ('i', 1), ('t', 1)]

我的代码仅适用于第一个单词。您能帮我吗?
inicialString=str(input())

words=inicialString.split(" ")
def countTheLetters(t):
 for word in words:
  thingsList=[]
  for x in word:
   n=word.count(x)
   j=x,n
   thingsList.append(j)
  return thingsList

print(countTheLetters(words))

我的输出:
[('i', 1)]

我试图替换返回的ThingsList,但是它仅适用于最后一个单词。

最佳答案

您每次都要通过thingsList循环清空for word in words:,因此您只会得到最后一个单词。

在第一个thingsList = []语句之前放置for

10-04 11:45