A children's guide to
Python programming
By Simon Haughton
(Tested on Python 3.0 for iOS.)
1. Printing text and creating variables
Open the Python app and tap .
Press and start a program.
Type a name for your program and select a folder to save it in.
Type these commands into the 'script' window:
print("Hello world.")
print("\n")
print("I am learning Python.")
Press and watch the 'interpreter' window.
Program - A sequence of What does the print command do?
commands that are followed
in order to carry out a task. What does printing \n do?
Run - Carrying out the What happens if you make a mistake in
commands in a program. Also your commands?
known as execute.
Press and start a program.
Type a name for your program and select a folder to save it in.
Type these commands in and then them:
What does the input
forename = input("What is your forename? ")
print("Hello",forename) command do?
Does it matter if you type
Variable – A value that can be in text other than your
stored and used in a program. name?
Edit and • Add a variable to store a surname. Then change the
improve: print command so it prints their full name.
www.simonhaughton.co.uk 2
2. Calculations and random numbers
Open the Python app and tap .
Press and start a program.
Type a name for your program and select a folder to save it in.
Type these commands in and then them:
print(100+10) Is the calculation still solved if
you use a negative number or
a decimal number?
Edit and • Change the commands to do a different calculation,
improve: such as a: take away -, multiplication * or division /.
Testing - Trying out a program to check if it works as expected.
Debugging - Finding and correcting mistakes in a program's source code.
Press and start a program.
Type a name for your program and select a folder to save it in.
Type these commands in and then them:
import random What does the .randrange
number = random.randrange(10,20,1) command do?
print(number)
• Change the number 10 to a smaller number and the
number 20 to a bigger number to see what effect
Edit and this has on the program.
improve: • Add some commands to do calculations with the
random number. e.g. print(number+10)
www.simonhaughton.co.uk 3
3. Number variables and adding comments
Open the Python app and start a program.
Type these commands in and then them:
number = int(input("Type a whole number: "))
answer = number * 8
print(number,"multiplied by 8 is",answer)
What happens if you type in a decimal number
instead of an integer (whole number)?
• Find out what changing int to float lets you do.
(Remember to change it back to int afterwards!)
• Add commands so the answer to an addition is
printed as well. You will need to use another variable
Edit and called answer2:
answer2 = number + 6
improve: print(number,"add 6 is",answer2)
• Change the program so you have to type in two
numbers at the start to use in each calculation. You
will need to use another variable called number2.
Remember to print it on the screen before you show
the answer!
Add these commands to your program:
# This is a comment.
Does text on a line starting with a hash then a
space (# ) do anything when the program is run?
Comments - Notes in a program's code which explain
what commands do to remind you. They are not run.
Edit and • Type some comments beside some commands to
improve: explain what they do.
www.simonhaughton.co.uk 4
4. If statements
Open the Python app and start a program.
Type these commands in and then them:
answer = input("Do cats bark? ") What does this program do?
if answer = = "no":
print("Correct") Why do you think two equals
else:
print("Wrong")
signs are used and not just one?
IF statement - Decides which commands to run depending
on whether certain things (conditions) are true or false.
Edit and • Change the question being asked (and the answer
improve: too, if needed).
Start a program.
Type these commands in and then them:
mark = int(input("Score: "))
if mark > 80: What does this program do?
print("Outstanding")
elif mark > 40: What does the elif command
print("Great")
else:
let you do?
print("Good")
Edit and • Add another elif command in the middle so that a
improve: score of more than 60 is rated as "Super".
Programming challenge:
Create a program that asks a maths calculation and
prints if the user answers it right or wrong. Can you
change one of the numbers in it to a random number?
www.simonhaughton.co.uk 5
5. Lists
Open the Python app and start a program.
Type these commands in and then them:
import random Use copy and paste to help
you quickly copy this!
colours = ["red","green"]
animals = ["lions","bears"]
print("My rainbow zoo has:")
List - A set of values.
colour = random.choice(colours)
animal = random.choice(animals)
print(colour,animal) What does this program do?
colour = random.choice(colours) What are the purposes of
animal = random.choice(animals)
print(colour,animal) the lists?
Edit and • Put more items in the list to make the rainbow zoo more fun!
improve:
Start a program, type these commands in and then them:
vehicles = ["bus","car","train"]
print(vehicles[0])
print(vehicles[1])
print(vehicles[2]) Can you see what the:
vehicles.append("plane") .append, .pop,
print(vehicles) .insert and .remove
vehicles.pop(2) commands do?
vehicles.insert(2,"boat")
print(vehicles)
vehicles.remove("car")
print(vehicles)
Programming challenge:
Create a list to store some names. Add commands to: .append, .pop,
.insert and .remove names. Find out what the .sort() command does.
www.simonhaughton.co.uk 6
6. Functions
Open the Python app and start a program.
Type these commands in and then them:
Function - A sub-program which
import random is placed at the start of a bigger
def cointoss(): program and can be called (run)
options = ["heads","tails"] later using its name.
result = random.choice(options)
print(result)
cointoss() What does this program do?
cointoss()
cointoss() Why is better to call the
cointoss() function five times than to
cointoss()
copy all of its commands five
times?
• Change the program so it shows the results of rolling
Edit and a six-sided dice instead. You don't need to put ""
improve: around the options because they are numbers.
Programming challenge:
Create a program that tells a user's fortune by calling (running) a
function two times which randomly picks a prediction from a list:
e.g. You will be given money.
You will become famous.
You will see an alien.
You will find a lost item.
You will score well in a test.
Can you ask the user to input their name so that it is included in the
predictions (e.g. Tom will be given money)?
www.simonhaughton.co.uk 7
7. Iteration (looping)
Open the Python app and start a program.
Type these commands in and then them:
for i in range(4): What happens if you change
print("Hello world") 4 to a different number?
Iteration - A way of repeating or looping commands multiple times.
Start a program, type these commands in and then them:
for i in range(1,10): What happens if you change 4
print(i*10) and 10 to different numbers?
Start a program, type these commands in and then them:
password = "fish"
guess = ""
If = = means 'equal to',
while (password != guess): what does != mean?
guess = input("Enter password: ")
if password = = guess: What does a while loop do?
print("Correct")
else:
print("Try again")
Programming challenge:
Create a program in which the computer sets the password as a random
integer from 1 to 100 and user has to correctly guess it.
Can you use: if, elif and else commands to give the user clues (e.g. "Too
high" or "Too low")? Can you add a variable which counts the number of
guesses (count = count + 1)?
www.simonhaughton.co.uk 8
8. Parameters and validation
Open the Python app and start a program.
Type these commands in and then them:
def spell(word):
for i in range(0,len(word)): Parameter - A way of passing a
print(word[i])
value from the main program to a
spell("said") function when it is called (run).
spell("because")
• Insert the len(word)command to make the function print how
many letters are in the word as well.
Edit and • Change the program so you can type any word in to get passed to the
improve: function.
• Insert the ord(word[i]) command to the iteration so the special
Unicode number of each letter is printed as the word is spelled out.
Programming challenge:
Create a function that uses the chr(integer) command to convert a Unicode
integer you type in into a letter. You could use this to decipher a secret code made
from Unicode numbers (possibly having to add/subtract another number first as well)!
Start a program, type these commands in and then them:
def validation():
number = 0 What is the
while True:
try: purpose of this
number = int(input("Type a whole number: ")) function?
except ValueError:
print("Not a whole number!") How could it
else:
return(number) be useful?
x = validation()
Validation - Automatic checking by a computer to ensure that an entered value is sensible.
Programming challenge:
Create a function that prints the biggest of two values, passed to it in parameters.
The user will input the two integers they want to compare using the validation function.
www.simonhaughton.co.uk 9
9. Algorithms
Algorithm - An explanation of a the processes or instructions a program carries
out, usually described in a flowchart.
Programming challenge:
Create a simple version of a Snakes and Ladders game:
move function
Start Main program
Start
Press the
keyboard to roll
Set position = 0
Set dicenumber as a
random number Is
between 1 and 6. yes Print a "Well
position
done" message
> 100?
position = no
position +
dicenumber Run move function Stop
Is position yes Change the position so
on a snake or it is more or less (use: if,
ladder number? elif and else)
no
Stop
• Can you add more print commands to display what is happening on screen?
• Can you make the game print the player's name at the end?
• Can you add another player to the game whose position is stored in a variable
called position2? You will need to make the game let each player move in
turns. You could create a variable called finished which is set to 0 at the
start and changes to 1 when a player wins, forcing the game to stop.
Many thanks to Paul Meakin and Phil Bagge for the inspiration to learn Python and write this guide!
www.code-it.co.uk/philbagge.html
www.simonhaughton.co.uk 10