Read first
Task 23
Scoring a match
Give each keyword a weight and add up the hits. The highest score above a threshold wins; below the threshold you use the fallback. This is a search engine in ten lines.
Task
What does a weight of 3 mean?
The editor already contains a starting point. Change it until every check passes — the Next task button unlocks when it does.
What you start with
WEIGHTS = {'fee': 3, 'fees': 3, 'timing': 2, 'admission': 2, 'python': 2, 'ai': 2}
def score(question):
words = question.lower().replace('?', '').split()
return sum(WEIGHTS.get(w, 0) for w in words)
print(score('What is the Python fee?'))
print(score('Tell me a joke'))
Python
1 automatic check Build the assistant
Code editor
Ctrl + Enter runs
Run your code to see the output and the checks.
Your result
Submit your code to see results
Write your code in the middle column and press Run code.
Next task (pass every check first)
Hint
Ask yourself: What does a weight of 3 mean?