VAGUE = ["fast", "easy", "user-friendly", "quickly", "nice", "etc"]
reqs = [
("R3", "Must", "Show the late fee when an item is returned.",
"Returned 3 days late: fee $0.75"),
("R4", "Must", "List overdue items quickly.", ""),
("R6", "Should", "Search items by part of the name, ignoring case.",
"Searching shoe finds Snowshoes (adult)"),
("R8", "Could", "Print a nice monthly report.", ""),
("R9", "Won't", "Members book items online.", ""),
]
counts = {}
for rid, priority, text, test in reqs:
counts[priority] = counts.get(priority, 0) + 1
words = text.lower().replace(".", " ").replace(",", " ").split()
vague = [w for w in VAGUE if w in words]
if vague:
print(rid, "uses vague words:", ", ".join(vague))
if test == "" and priority != "Won't":
print(rid, "has no acceptance test")
for p in ["Must", "Should", "Could", "Won't"]:
print(p, counts.get(p, 0))