NEBians
search Sign In Register

Final Quest: Grade Calculator

Lesson 4 of 4 Coding game schedule25 min

Loading simulation…

sports_esportsPlay with the blocks and run your code

flagWhat you'll discover

  • arrow_forwardTranslate a real grading table into if/elif logic
  • arrow_forwardCompute an average with sum-style accumulation
  • arrow_forwardLoop over a list to print a formatted report
  • arrow_forwardAssemble functions, loops and lists into one program

From real rules to code

Real programs start as human rules. The NEB grading table — 90 and above is A+, 80 to 89 is A, 70 to 79 is B+, and so on — translates almost word-for-word into an if/elif chain. The elegant trick: check from the TOP band downward. Once you know m is not 90+, testing m >= 80 alone is enough for an A — no upper bound needed, because earlier checks already caught higher marks. Order your conditions carefully and the logic becomes short and bulletproof.

Averages and accumulators

To average a list, add everything up and divide by the count. The adding-up uses a pattern you will reuse forever: the accumulator. Start total = 0, loop for n in nums:, add each with total += n, and after the loop divide by len(nums). (Python's built-in sum() does the same job in one call — using it is absolutely allowed!) Accumulators appear everywhere: totalling a shopping cart, counting votes, summing rainfall. Learn the shape once, use it for life.

Programs are assembled, not written

Notice how the final program snaps together from pieces you already own: a grade() function from if/elif, an average() from a loop, a report from for plus f-strings. This is the deepest lesson in the whole course — big software is never written in one heroic effort. It is assembled from small, tested parts. Build a piece, run it, watch it work, then build the next. Every app on your phone, including this one, was built exactly this way.

quizCheck your knowledge

1. Why check m >= 90 before m >= 80 in the grade function?
2. What is the accumulator pattern for summing a list?
3. What is the professional way to build a bigger program?