| [Home](../index.html) | [Practices](../practices/index.html) | [Code](../code/index.html) | [Examples](../examples/index.html)
## The Problem
Given a string of text and a list of words, return the number of times each word appears in the text.
For example, if `text = "The quick brown fox jumps over the lazy dog"` and `words = ["the", "quick", "brown", "fox", "jumps", "over", "lazy", "dog"]`, then the function should return:
```
{
"the": 1,
"quick": 1,
"brown": 1,
"fox": 1,
"jumps": 1,
"over": 1,
"lazy": 1,
"dog": 1
}
```
## The Approach
One way to approach this problem is to iterate over each word in the `words` list and count how many times it appears in the `text` string. We can do this by iterating over each character in the `text` string, checking if the current character matches the current word we're counting, and incrementing our count if it does.
## The Implementation
We can implement this approach as follows:
```python
from typing import List
def word_count(text: str, words: List[str]) -> dict:
word_counts = {}
for word in words:
count = 0
for char in text:
if char.lower() == word.lower():
count += 1
word_counts[word] = count
return word_counts
```