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 9 of 40

And / Or / Not

Loading today's steps…
Lesson idea Tap to fold
Recall

Without scrolling back — in an elif chain, if the first condition is True, does Python still check the rest?

Show the answer

Answer. No. It stops at the first True branch and skips everything after it, even if a later condition would also be True.

And from further back — what does = actually do in frame_count = 240?

Show the answer

Answer. It puts 240 into the box labelled frame_count. Right side into left side, never the other way.

Today's one idea

and, or, and not combine yes/no boxes

So far every decision has checked one boolean at a time. A delivery gate rarely works that way — a shot only clears final delivery if resolution AND duration both check out. Either one failing is enough to hold it.

# Two yes/no facts
resolution_ok = True
duration_ok = False

# Both must be True, or either one
print(resolution_ok and duration_ok)
print(resolution_ok or duration_ok)

and needs both sides True to be True — one failure sinks it. or only needs one side True — it's more forgiving. not is different again: it takes one boolean and flips it, True becomes False and back.

Pick and when a pass requires everything to hold. Pick or when any one thing is enough. "Needs a retake" and "is ready to deliver" are usually opposites of each other, not independent checks — which is exactly where not earns its keep: not (resolution_ok and duration_ok) reads as "not fully passing," without writing the failure logic out a second time.

Worth knowing, not needed today: Python only checks the second side of and/or when it has to. If the left side of and is already False, it never bothers looking at the right side — the answer's already decided.

That is the whole idea for today. and for "both," or for "either," not to flip a single boolean.

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.

Predict both rules

For audio_ok False and video_ok True, what are audio_ok and video_ok, and audio_ok or video_ok?

Compare your answer · self-reviewed

False, then True. Both do not pass, but at least one does.

Explain review

What does not (audio_ok and video_ok) mean?

Compare your answer · self-reviewed

Review is needed whenever the complete two-part pass rule is False. Only two True inputs avoid review.

Debug precedence

Does not audio_ok and video_ok express the same review rule?

Compare your answer · self-reviewed

No. It negates audio only, then combines that with video. With both False it returns False, even though the shot needs review.

Now

Choose an exercise to load its prompt.

Go deeper — optional

Today's idea in two other voices, if you want one. Not required — the exercises above are the actual lesson.

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

Loading exercises…


    
    
AI Tutor

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