DynamicVibePython learning
How to study · reference & help

One lesson at a time

Read the idea, then follow the named exercise steps. On a phone, use Idea, Code and Output to switch views. Review days begin with recall before the rebuild. A self-review mark is not a scored answer.

Run, inspect, repair

Run loads Python in your browser on the first use, so you need an internet connection. Read Output and the check result. Stop interrupts a run; it keeps your code. Reset restores the selected starter, replacing that exercise’s draft. Use an authored hint before asking for help.

Keep your work

Code drafts, progress and Notes save on this device when browser storage is available. They do not sync through your login. Use Backup & records above to download saved learning records, preview an import or undo the latest import. Copy unsaved text first; clearing browser data can remove local work. A save warning means you should copy your work before leaving.

Practice files and reports

Each browser Run starts in a fresh temporary workspace. A sample file exists only when that run’s code creates it; these are not your computer’s files. On report tasks, use Preview to inspect the actual text and Download to request a copy before another Run, Reset, exercise change or leaving. Reports do not save through tutor login. Read files and write reports.

Get tutoring when you need it

Lessons and checkpoints do not need tutor login. Unlock the tutor through Training’s shared tutor access, then use its return link to come back here. Your question is only sent when you press Send. Do not paste passwords or private production data.

Python words in plain language

Assignment and type
frames = 96 binds a name to an integer. "96" is text, not the same numeric value. Values and names.
List and index
A list keeps items in order. Positions start at zero; the final nonnegative index is length minus one. List lookups.
Loop and indentation
A for loop processes each item. Indentation groups its repeated statements; a statement outside the block runs separately. Loops.
Parameter, argument and Return
A parameter names an input in a definition; an argument supplies its value in a call. Return gives a result to the caller; print displays it. A function that only prints returns None. Functions.
Dictionary and schema
A dictionary labels values with keys. A schema states the required fields and types; a missing fact is not automatically zero. Dictionaries · Validation.
File, CSV and JSONL
A file stores bytes/text. CSV needs a quoting-aware parser; JSONL contains one JSON value per line. Browser practice files are temporary, not computer files. CSV · JSONL.
Denominator and evidence
A rate divides a count by its declared eligible total. Keep exclusions visible. A quiz score, practical check and self-review are different evidence. Quality rates.

Read the error, then make one repair

SyntaxError / IndentationError
Python could not parse the code. Inspect the named line and the preceding line for a missing colon, unmatched quote/bracket or inconsistent indentation. Review blocks.
NameError
A name has no value here. Compare case and spelling, and check that assignment happens before use. Do not replace an unknown parameter with a fixed sample.
TypeError / ValueError
A wrong kind of value or an unacceptable value can fail an operation. Inspect the supplied input and declared policy; do not broadly suppress the error. Narrow error handling.
IndexError / KeyError
The requested position or key is missing. Inspect the collection and interface instead of guessing a fallback. Indices · Keys.
Run stays loading / runtime or checker unavailable
This is not proof that your answer is wrong. Stop if available, copy your draft, check your connection and retry. If it repeats, keep the visible error and use the readable lesson/hints. Never reset or clear browser storage as the first repair.
Expected sample prints, but a check fails
Read the named contract and test changed/empty inputs. The helper may return None, use a fixed value or stop too early even when the sample looks right. A failed check is not a request to copy the expected output.

Press Escape while working inside this panel to close it and return focus to its summary. Without JavaScript, use the summary again. For local Studio commands, use terminal troubleshooting.

← Route Week 2 · Day 10 · Checkpoint

Review

Loading today's steps…
Lesson idea Tap to fold
Recall — one from each day

Answer all four before you look. Each answer is behind its own disclosure.

Day 6. What type of value does a comparison like == or < actually produce?

Show the answer

A boolean — True or False. The comparison asks a question; it doesn't assign anything.

Day 7. What decides whether the if block or the else block runs?

Show the answer

The boolean right after if. True runs the if block, False runs the else block. Exactly one of the two runs.

Day 8. In an if/elif/elif/else chain, how many branches actually run?

Show the answer

Exactly one — the first one whose condition is True. Python stops checking the moment it finds one.

Day 9. What's the difference between and and or?

Show the answer

and needs both sides True to be True. or needs only one side True to be True.

Today

Nothing new — the four ideas working together

There is no fifth idea. Today is the four you already have, in one piece of code, the way they actually turn up in real work: a boolean built from a comparison, an if, an elif, and an and/or deciding which branch runs.

That is worth a day on its own. Each idea made sense in isolation this week. Reading them together, in one file, is a different skill — and it is the skill the job actually needs.

The middle exercise takes the boolean and the elif branch away and asks you to put them back from memory. The last one hands you code that is already broken and asks you to work out why before you touch it.

If the rebuild is hard, that is information, not failure. Whatever you had to look up is exactly the thing to revisit before week 3 — that is the point of asking you to do it without the example in front of you.

Nobody holds this after four days. Looking something up is what working programmers do all day. The only thing worth noticing is which thing you looked up, because that tells you where next week should start.

Slow down on the repair exercise. Read the broken code line by line and say what each line does before you change anything. Then build the final, independent task from its new brief. Working out why code fails, without running it, is the thing that separates copying from understanding.

Predict, explain, then test

These three short checks are self-reviewed, not a quiz score. The code checks below rerun your rule on changed inputs and boundaries. They keep your named input facts and check your rule, not one required quote style.

Trace before running

The toy rule warns if duration matches OR errors are at most two. What happens for mismatched duration and two errors?

Compare your answer · self-reviewed

Warning. The second operand is True; or needs only one. This permissive classroom rule is not an authoritative QC policy.

Find a boundary test

Which changed input distinguishes error_count <= 2 from error_count < 2?

Compare your answer · self-reviewed

A mismatched duration and exactly two errors. The inclusive rule warns; the strict rule falls through to Fail.

Recall a function

Why is returning a decision useful when you later package a QC tool?

Compare your answer · self-reviewed

The caller can use or test a returned value. Printing only displays text and does not give the caller the decision.

Independent transfer: a new review rule

Write qc_decision(audio_ok, video_ok, error_count). For boolean audio/video inputs and a nonnegative integer error_count, return Pass only when both parts pass and errors are zero; return Review when both parts pass and errors are one or two; otherwise return Hold. This is a new classroom policy, not an authoritative delivery judgment. Use return, not a printed fixed answer. Refresh Day 4 functions if needed. Try new inputs and boundaries.

Choose Independent transfer: a new review rule in the exercise controls. Write the function from this brief, not from the earlier toy rule. Review parameters and return if needed.

Read the unfinished starter without running Python
# Build a decision from a new brief
def qc_decision(audio_ok, video_ok, error_count):
    # Replace this unfinished return with your rule
    return ""

# Inspect three different decisions
print(qc_decision(True, True, 0))
print(qc_decision(True, True, 2))
print(qc_decision(False, True, 0))

Expected sample output: Pass, Review, Hold on three separate lines. Behavioral checks also call your function with all four boolean pairs and counts at zero, one, two, three and seven. A printed report is not a substitute for the returned decisions.

Now

Choose an exercise to load its prompt.

Keep going — optional

No new idea today, so nothing to pair it with. If the week stuck and you want more, the official tutorial keeps going from exactly where booleans and conditionals leave off.

day-10.py standard Python · runs in this browser
Output

Loading exercises…


    
    

Section 2 checkpoint

Answer five questions, then review the explanations. This score is separate from the coding checks. The lesson, brief checks and authored hints do not require tutor login.

AI Tutor

The tutor mounts here when JavaScript is available. The lesson above stays readable without it.