Problem:
The count method only takes in one argument and you are trying to pass a whole list.
Solution:
Simply iterate over all the letters, then test if they are in the string before you print them and their amount.
import random
wordList = ["Tree", "Fish", "Monkey"]
wordChosen = random.choice(wordList)
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
for letter in letters:
if letter in wordChosen.lower():
amount = str(wordChosen.lower().count(letter))
print(letter + " : " + amount)
Result:
If the random word chosen is "Tree":
e : 2
r : 1
t : 1
Conclusion:
Using collections is definitely a more effective method, but I believe the way I have shown above creates more of the output you were looking for.