Your question is Find Errors in Code Snippet. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
Hearst's publishing pipeline runs this function on every article before it goes live, computing a URL slug, word count, and byline. A candidate was told there are at least 5 errors in it and asked to find and explain all of them.
import re
def process_article(article, tags=[]):
title = article["title"]
body = article["body"]
status = article.get("status", "draft")
slug = title.lower().replace(" ", "-")[:50]
clean_body = re.sub("<[^>]+>", "", body, count=1)
words = clean_body.split()
word_count = len(words)
total_chars = sum(len(w) for w in words)
avg_word_length = total_chars / word_count
if status is "published":
tags.append("live")
byline = f"By {article['author']}, {article['pubished_at']}"
return {
"slug": slug,
"word_count": word_count,
"avg_word_length": avg_word_length,
"byline": byline,
"tags": tags
}
Find every error in this function (there are at least 5), and for each one explain what actually goes wrong when it runs against real article data, and how you'd fix it.