▶ TrainingGet Pro
All tools & lessonsAll toolsAllGet the appApp
Learning departments Music, Math, Cookery, Programming and Art are open – explore →

Python lesson 23: Project: a quiz program

US version. US grades and US spelling. · UK version of this lesson

Keep the questions in one list and the answers in another; the same index links them. A complete 50-minute Python lesson for complete beginners (Grades 6–7), from Unit 7: Mini projects. It runs right here in your browser – nothing to install.

Time
50 minutes + 40 min homework
Grade
Grades 6–7 (ages 11–12)
You need
A computer or tablet, paper and a pencil
Graded
Mostly instantly; the project with our checklist

For parents: how to use this lesson

You don't need to know Python yourself. The lesson explains each step on screen, the way Mr Babbage, our Head of Computing, likes it: a worked example first, then a go for your child. Code questions run your child's program in the browser and grade it straight away – and the final program of their own is judged by you, with our checklist below.

  1. Read what your child will learn together.
  2. Press Start the lesson below. Sit with your child for the teaching and the worked example (about 16 minutes): ask them to say what each line does.
  3. Let them do the practice on their own. When code goes wrong, the error message is a clue – let them read it out and try again before you help.
  4. Finish with the exit questions and the talk question: “How could your quiz give the player feedback on each answer?”
  5. Later that day or the next day: the homework (40 minutes), then a practice test.

Watch out for

  • score = 0 goes inside the loop. Then the score resets every question.
  • input() == 12 works for number answers. input() is text: convert with int() first.

Miss Lovelace's tip for home: ask your child to explain one line of their program to you in their own words. If they can explain it, they understand it – and every error message is a clue, not a failure.

What your child will learn

Learning goal: store questions and answers in lists.

Success looks like

  • I can store questions and answers in lists.
  • I can loop through the questions and keep a score.
  • I can compare answers fairly with lower() and strip().

Key words

list · index · score · validation

What to have ready

  • A device with a web browser (the code runs in the browser – nothing to install)
  • Paper for tracing
  • A keyboard helps for typing code (a tablet or phone works too)

The big ideas (for the adult)

Keep the questions in one list and the answers in another; the same index links them.

Set score = 0 before the loop; add 1 inside it when an answer is right; print the score after.

Tidy answers with strip() and lower() so " Paris" and "paris" both count.

Worked example

score = 0
answers = [5,40,13]
right = [3 * 2, 8 * 5, 2 * 7]
for i in range(3):
    if answers[i] == right[i]:
        score = score + 1
print("Score:", score)

It prints:

Score: 1

The lesson, step by step

50 minutes in 5 parts
PartTimeHow it is checked
Starter5 minGraded by Classfern
Teaching input8 minRead, watch and talk
See it, then predict8 minGraded by Classfern
Put it in order, write it, fix it22 minGraded by Classfern
Closure and exit ticket7 minGraded by Classfern + self-check

Checklist for the project (teacher or parent)

The questions in this lesson are graded by Classfern. The program your child makes at the end is judged by you, with this checklist – it is not graded by computer. For each line, choose the description that fits best.

  • Planning: the steps were written down before coding
    No plan → Some steps written → A clear plan that was followed
  • It works: the program does what the plan says
    Does not run → Runs, with some bugs → Works for normal inputs → Works for normal and edge inputs
  • Testing: different inputs were tried, including edge cases
    Not tested → Tested once → Several tests, including an edge case
  • Readable: clear variable names and helpful comments
    Hard to follow → Mostly clear → Clear names and comments throughout

The lesson

It runs here on the page. No sign-up and no names – progress is kept only in this browser. Each visit picks a new mix of questions.

Homework

40 minutes: 7 questions – predict what code prints, write or fix a short program, and check the key ideas – then a short reflection. New questions every time, all graded instantly.

Practice tests

All computer science practice tests · All 24 Python lessons

Curriculum

CSTA K–12 Computer Science Standards (2017), grades 6–8: 2-AP-13 – Decompose problems to help design, implement and review programs; 2-AP-12 – Design and iteratively develop programs with control structures incl. nested loops and compound conditionals.

The standard codes are CSTA's; the descriptions are our own words.

Our lessons and questions are our own. They are not written or endorsed by any government department, testing agency or exam board. Python is a registered trademark of the Python Software Foundation; Classfern is not affiliated with or endorsed by it.