OCR Coding Challenges - Solutions

As a background task, I've started work on possible solutions to the OCR Coding Challenges. Remember that my solution is just one of a number of possible solutions, and I don't claim that it's necessarily the best one.  If you want a Python reference or would like to recap any programming techniques, I have also added a Python course to the Computing and ICT in a Nutshell YouTube channel.

Note that, although I have been programming for almost 40 years, I don't claim to be an expert in Python, or even believe that Python is the best language to use in school.  For that reason, I have avoided using any techniques, such as list comprehension, that are particularly Pythonic.

No. Link
1 Factorial Finder - Iteration
Factorial Finder - Recursion
2 Speed Tracker
3 Thief!
4 Classification
5 Fruit Machine
7 Credit Card Validator
8 Arithmetic Test*
9 Happy Numbers
10 Number Names
13 Caesar Cipher
15 Pangrams - ASCII version
Pangrams - Dictionary version
16 Kaprekar
17 Number Table
18 Years in Range
19 Logic Gate
20 Palindrome - String Slicing
Palindrome - Recursion
23 Fibbing
33 Mor-se Coding
34 What's the day?
36 Triangulate
37 Fizz Buzz
38 Sing Along
41 Prime Factorisation
67 What have the Romans ever done for us?
71 Goldbach

* Some of the tasks are more open-ended and I have included similar examples from other sources, such as previous coursework tasks.

You'll notice that I tend to use lists or tuples in my code to avoid the need for multiple IFs, and also demonstrate how it can be used to improve a common Magic 8 Ball program here.  You can also make use of True and False to avoid the need for a lot of IFs in your code.  Finally, there is a video on recursion, in which I explain how the factorial, palindrome and prime factorisation programs work.

If you prefer to use a local IDE, you can download these programs.  You can also download further programming examples in BASIC, JavaScript and Python.