Drill 23: Predict the output — Project: course tracker
Describe the output you expect and how you would check it.
What you will be able to do
- Describe the output you expect and how you would check it.
Practice task
Describe the output you expect and how you would check it.
import json
from dataclasses import dataclass, field
@dataclass
class Tracker:
learner: str
completed: set[str] = field(default_factory=set)
def complete(self, lesson: str) -> None:
self.completed.add(lesson)
def percent(self, total: int) -> float:
return len(self.completed) / total * 100 if total else 0.0
def to_json(self) -> str:
return json.dumps(
{"learner": self.learner, "completed": sorted(self.completed)}
)
tracker = Tracker("Ada")
tracker.complete("getting-started")
tracker.complete("control-flow")
print(f"{tracker.percent(12):.0f}% complete")
print(tracker.to_json())Your turn
EasyWrite your answer
Describe the output you expect and how you would check it.
TEXT · starter
Your answer…Study tools
Make it yours.
Keep a private note for this lesson, then turn the key ideas into flashcards you can revisit.
Sign in to save notes and flashcards.Both are private to your account and stay with your progress.
Sign inFinished reading?
Lock in what you just learned.
0%
Mark this lesson complete to save your place and move one step closer to the certificate.