Learn Python

Python For Kids

This post may contain affiliate links. As an Amazon Associate, I earn from qualifying purchases.

Sharing is caring!

So You Want to Learn Python (for Kids!)

Excellent choice! There are plenty of reasons why learning Python is rising in popularity, but for kids, Python is a great programming language with which to start learning to code.

Python is a powerful, easy-to-read, high-level programming language. This means commands read like English words instead of complicated 0s and 1s and this makes it easy for kids to learn Python without a lot of experience.

This Python tutorial for kids will help parents and teachers get their kids learning Python. You can follow our tutorial completely FREE on this site or pay to download our accompanying workbook to use in a classroom or at home.

Learn Python Tutorial

Not quite ready for Python yet? Check out our ultimate guide to coding for kids to learn exactly how you can get started teaching your kids to code.

What is Python?

If you are completely new to computer programming, you might be wondering what Python is.

Python is a programming language.

Programming languages are simply a special way of giving computers sets of instructions to execute. You are probably familiar with some of the most common programming languages like Java or PHP.

Learning Python is becoming more and more popular and Python was recently listed as one of the top 10 programming languages to know in 2018. In fact, that’s why teaching Python programming for kids has become so popular.

Python is a programming language that provides real skills for the future. It is used to develop software and apps in a variety of settings. Many computer programmers enjoy using python because it is easy to read and accessible even to beginners. 

Why is Python a Great Choice for Kids?

Learn Python Tutorial for Kids

Is Python easy to learn? Yes! The commands and syntax (rules for how code must be laid out) in Python are relatively simple compared to some other programming languages. This makes Python for kids easy to get started, even with no experience coding.

Another great feature when looking to design python exercises for kids is that Python has a wide range of libraries that we can import whenever we need a particular feature. This modular feature keeps Python flexible and also lets you use others’ libraries to easily build some interesting (and fun!) initial projects. 

How Can I Help My Kids Learn Python?

Whether you are a teacher or parent, getting kids started learning Python is simple. Today we will be going over some simple python tutorials for kids that will make getting started learning Python for kids super easy.

In today’s free Python lesson, we are going to be reviewing very simple programming commands so that you and your students can get familiar with how Python works, and how we can eventually use this program to develop fun games and projects for kids.

This MASSIVE Python for Kids Tutorial is broken into three lessons. Each of these python lessons for kids will review some basic coding concepts and apply our knowledge to teach kids python. You can use the table of contents below to help Navigate through the Python tutorials so that you can go at your own student’s pace.

Ultimate Python For Kids Tutorial Bundle

  • The Python Ultimate Bundle is an all-in-one package that includes all the Python tutorials you need to teach your students programming and game development.
  • The bundle includes tutorials on Python Basics, Python Lists, creating a story in Python, Rock Paper Scissors game, Fortune Teller game, Create Your Own Adventure game, Blackjack game, and Dice game.
  • Each tutorial is engaging, fun, and easy to follow with clear instructions and real-world examples.
  • The bundle includes resources such as PDF worksheets, answer guides, and Google Slides presentations to help students learn at their own pace.
  • This bundle is perfect for teachers who want to provide their students with a comprehensive introduction to Python programming and game development.

Python for Kids Tutorial One: Syntax, Loops, and Variables

Python Tutorial for Kids

What Concepts will be covered:

Today we are going to be exploring and learning about the following coding concepts:

  • Syntax: Syntax is essentially the ‘spelling and grammar’ of computer programming languages. Just as it may be difficult to understand an English sentence without proper spelling and grammar, a computer can’t understand their commands unless they are laid out properly. Syntax defines the proper way to lay out commands in programming languages.
  • Variables: In computer programming, a variable is a type of value that can change. In this python tutorial, we will be exploring how we can change variables in Python, and how this will affect the output of our programming.
  • Loops: Loops contain a set of instructions that are continually repeated until a specific set of conditions are met. In this tutorial, we will learn to understand the difference between a for loop and a while loop.

How to open Python on your computer:

If you don’t yet have a way to code in Python and are unsure of how to begin, I personally like to use Anaconda, which includes the Spyder program (also known as an IDE, an integrated development environment). You can download Anaconda for free here.

Or, if you are looking for a really simple way to get started with Python right away, you can use an online Python IDE editor. Simply open up this page,  https://repl.it/languages/python3, and you will be ready to get started right away!

Python Tutorial for Kids: Creating a FOR loop

Let’s get started learning about and understanding variables and for loops with the range command.

Once you and your student have a Python editor open, enter this text:

for x in range(1,6):
   print (x)

and run the program. Make sure they have an indent on the second line!

This is what you should see:

1
2
3
4
5
>>>

Ask your student to interpret what happened. Have them change the numbers in the range() method. (A method is just a name for a Python command.) What happens when you set the range to (1,3) what about (1,100). Your students will soon understand how to construct a python list of numbers within a certain range. 

The goals are for your student to understand the limits of the range method (it won’t print the last number, e.g. 6), and to understand what a variable is.

We have just created a for loop. What is a for loop? As we discussed earlier, loops are commonly used in computer programming. Loops give computers a set of instructions that are continually repeated. In a for loop, the computer executes the command for a fixed number of times. In our case, this is defined by the range.

We can also have our program list our numbers in reverse order. Have your students enter the following text:

for x in range(6,1,-1):
   print (x)

Did you see what happened there? Now we can use this method to help us code a popular children’s song. Have your students enter the following text:

for x in range(5,0,-1):
  print (x, 'little monkeys jumping on the bed, 1 fell off and bumped his head, momma called the doctor and the doctor said, no more monkeys jumping on the bed')

You should see the following:

5 little monkeys jumping on the bed, 1 fell off and bumped his head, momma called the doctor and the doctor said, no more monkeys jumping on the bed
4 little monkeys jumping on the bed, 1 fell off and bumped his head, momma called the doctor and the doctor said, no more monkeys jumping on the bed
3 little monkeys jumping on the bed, 1 fell off and bumped his head, momma called the doctor and the doctor said, no more monkeys jumping on the bed
2 little monkeys jumping on the bed, 1 fell off and bumped his head, momma called the doctor and the doctor said, no more monkeys jumping on the bed
1 little monkeys jumping on the bed, 1 fell off and bumped his head, momma called the doctor and the doctor said, no more monkeys jumping on the bed

Python Tutorial for Kids: Variables

Now let’s have fun with the variables in this code!

In our case, the variable in this code is x. What happens when they change the variable x in the first line to a y? Does this change if both variables are changed to a y? If they change the x in both lines to instead be the word RandomChickenVariable, will it still work? It’s a terrible variable name but yes! The variable does not have to be an ‘x’ or a ‘y’ it can be anything that you choose. 

Python Tutorial for Kids: Creating a while loop

Let’s move on to now understanding while loops. Unlike for loops, which typically stop after a fixed number of times, while loops will stop only when a specific condition is met.

Have them enter this text:

x=0
while x is not 10:
    x=x+1
    print (x)
print('done!')

You should see the following:

1
2
3
4
5
6
7
8
9
10
done!

Have them describe what the code is doing using the words variable, and loop. In this example, x is the variable. x starts at 0 and increased by 1 each time the loop is run according to the formula x=x+1. Once 10 is reached, the condition to end the loop has been met, and the loop is finished. You will then see ‘done!’ printed.

The last code we ran was a for loop – this is called a while loop. Loops are useful because they can control our progress through our code; the ‘done!’ will not print until the loop has stopped running.

Python Tutorial for Kids: The Importance of Syntax

As we noted previously, Syntax is the spelling and grammar of computer programming. Computers will only be able to execute commands if we give it to them in a language that they understand. To help your student understand the importance of syntax in Python, have them remove the indent in print x so that it looks like this.

x=0
while x is not 10:
    x=x+1
print (x)
print('done!')

Let your student play with the code. When you discuss the difference between these two versions with your student, the ultimate conclusion should be that the boundaries of loops are defined by the indents beneath their opening “for” or “while” line. The loop will not perform any code below the unindented line. However, if you try this:

x=0
while x is not 10:
    x=x+1
print (x)
    print('done!')

the code will fail with a message that looks something like this:

File "<ipython-input-10-ebd4d8eb92d4>", line 5
    print('done!')
    ^
IndentationError: unexpected indent

Notice that Python sometimes tries to help you see where your error is by putting a carat ^ in the error message. This error occurs because there is no reason that the print(‘done!’) command should be indented. This is an error in the syntax. The computer cannot understand the command because the ‘spelling and grammar’ is wrong.

Useful tip: If your program gets stuck, you can press ctrl-c in the console to cancel the program, or click the red square to stop operation. Want to see what that looks like? Run this with your student:

x=0
while x is not 10:
    print (x)
x=x+1

Have them explain why it is not working. The answer is that the value stored in the x variable never reaches 10 within the loop, so it will run forever and keep printing 0s.

Python Tutorial for Kids: Importing a Library

Our last exercise for this lesson will involve using a library I mentioned earlier. In this exercise, we will be turning our computer into a digital dice!

Type in this code:

from random import randint
x = randint(1,4)
print("dice roll:")
print(x)

The library is random, and the method we are taking from it is randintrandom is a type of module in Python that gives us several functions available for use.

.randint(x, y) is a type of function available through random. This function takes two parameters (two variablesx and y), it will select a random number between x and y, including x and y. You can set x and y to whatever numbers you like. In this example, we chose 1,6, just like a dice!

If there were many functions we knew we would need, we might just type import random – we’ll cover that another time!

Have your student describe what the code does. Once they have completed the above task, you can think with them about other modifications that can be made, such as changing the minimum and maximum of the numbers that can be produced or deciding to only roll again if the number is less than or equal to five.

This might look like this:

from random import randint
roll=randint(1, 6)
print(roll)
if roll < 5 :
    repeat=roll
    print(roll)
else:
    print("You lose")

Troubleshooting Python

If your code does not run, common errors are found in parentheses, colons, and indents, or the lack thereof.

  • Logic statements like if, while, and for need to have their lines ended with a colon.
  • For loops are only in effect for the lines that are indented underneath them. Make sure you only have one indent more than the for loop!

Summary

After these exercises, your student now has had experience working with variables, loops, logic statements, and importing functions. Welcome to Python!

Python Basics: Syntax, Loops, and Variables Digital Resource

Do you want all of the material covered in this tutorial in an easy to use in classroom lesson? Grab our Python Basics Tutorial!

  • Comprehensive Python tutorial for teachers to introduce their students to programming basics.
  • Includes a 7-page PDF worksheet with an answer guide and a 39-slide Google Slides presentation.
  • Covers essential programming concepts such as syntax, loops, and variables.
  • PDF worksheet contains exercises that gradually develop students’ programming skills.
  • Google Slides presentation is engaging and visually appealing, with interactive examples and illustrations.
  • Real-world examples demonstrate practical applications of Python programming.
  • Suitable for both experienced and new programming instructors.
  • Provides a solid foundation in Python programming for students to build on.
  • An excellent resource to teach Python in a fun and effective way.

Python for Kids Tutorial Two: All About Lists

Programming often has a lot of words that sound intimidating to kids learning python. One important thing to keep in mind as we study programming with Python is that every problem can and should be broken down into multiple steps. This helps us make clean code that other people can read without confusion. The following lessons introduce working with, editing, and storing data, which is just a fancy word for information.

Concepts covered today:

  • Data types – there are multiple types of data that are defined in Python. We will be learning them gradually as we work with more and more types of Python commands!
  • Lists – a set of information in a specific order that can be changed
Learn Python: All About Data
Data, data, data! What does it all mean?!

Creating a List

Lists are very easy to create in Python. We simply put a series of comma-separated items between square brackets. We can create a list of words by typing in the following:

myList = ['I', "don’t", "like", "pickles", "in","my", "sandwiches"]

This action is called declaration in programming; we have just declared the myList variable. This list stores a set of words. The two square brackets are important to define the list. We can use commands to access information about the list and to edit the data in the list.

How can we access information from a list?

Let’s say we want some basic information about this list. How long is it? What is the first piece of data stored? How about the last? What type of data do we have stored in it? We will now learn a variety of python commands to access information from our list.

List Length:

If we want to know the length of our list, we enter this command:

print (len(myList))

You should see something that looks like this:

>>> len(myList)
7

The result of this is the length of your data.

List Indexing

The items in our list are indexed so that we can retrieve them easier. We can use the index operator [] to find an item in our list. To look for the first piece of data, have your student type in myList[1]. What do they notice? Is it what they expected?

>>> print (myList[1])
'don’t'

What your student will get in return is “don’t” printed out. Let them experiment and try to get “I” as an answer. The correct way is to command the console to print myList[0]. This shows your student that lists in Python are indexed starting with 0. Indexing looks like this:

What happens when they search for the last element of the list? Let your student figure out that myList[7] will throw an error. Discuss with them that this occurs because, even though the length of the list is 7, the indexing beginning at 0 means that the last element is at index 6. This might be confusing at first, but with more practice, your student will get used to it quickly!

Today’s Python lesson is all about Python Lists

What type of data is stored within a list?

 Now have your student enter type(myList). This will return something like the following:

>>> print (type(myList))
<class 'list'>

Hm. That’s not quite what I wanted to ask. I want to know what type of information is stored inside the list. Let’s try this:

>>> print (type(myList[1]))
<class 'str'>

That looks better! ‘Str’ stands for string. Strings are bits of text; you can tell that a variable is a string when it has single or double quotes around it. If you look back at your previous commands, you’ll see that we declared the myList list entries to all have quotes around them.

Lists, strings, and integers! How do we tell them apart?

Let’s look in detail at 3 different types of data: lists, strings, and integers.

Your student can play around with this and become more familiar by defining two more variables.

pickles = ‘I don’t like pickles in my sandwiches’
pickles2= [“ I don’t like pickles in my sandwiches”]

Have them run the type and len commands on each of these and compare it with the results of myList. What do they notice? Let them explore on their own with their own variables if they want; part of the fun of programming is being able to easily create test examples to try out whatever weird ideas you have.

Here is what we get when we run the len commands on our two variables:

>>> print (len(pickles))
37
>>> print (len(pickles2))
1

Here is what we get when we run the type commands on our two variables:

>>> type(pickles)
<class 'str'>
>>> type(pickles2)
<class 'list'>

Ultimately, the point is that the pickles variable is a string, not a list. The square brackets define a list. This variable will have a length of 37 because the len function counts the characters in the string. On the other hand, pickles2 is a list with one element in it, surrounded by quotes, which is why it has a length of one.

So far, we have learned about two types of data: lists and strings. Ask your student to look at the information we have gotten from the Python console. Do they see any other kind of data? Guide them to see the numbers 1 and 39, and have them type in type(39) and type(1). The resulting int answer represents an integer, which is any whole number, negative, positive, or 0.

>>> type(39)
<class 'int'>

Extra Challenge

Python Lists: All about data
Integers, strings and lists! Are you confused yet? There’s a lot of data stored in simple Python commands

If your student is interested, have them try to access the first letter of the pickles string!

Let them try to guess how to do it with the hint: “it’s similar to how you access information in a list.”

The answer is pickles[0]. What type of data is pickles[0]? It is also a string. A string, it turns out, is made of multiple smaller strings!

Here are some examples of how we can access letters in our pickles string:

>>> pickles[0]
'I'
>>> pickles[21]
'i'
>>> pickles[14]
'i'
>>> pickles[13]
'p'

Your student is learning about how Python stores data. They have now seen three types of variables in Python: strings, integers, and lists. Lists are able to store information in a specific order, and are indexed beginning from 0. This means that the last information stored will be at the position with a value one less than the length.

Modifying Lists

We have seen in our recently completed steps that lists have:

  • Indexing that begins with 0
  • Built-in attributes like length

Now we will look at existing commands and methods we can use with lists to modify their information.

Let’s return to our test list, which we will declare again as:

myList = ["I", "do not", "like", "pickles", "in","my", "sandwiches."]

Let’s try to add some words. Enter the following commands:

myList.insert(4,"or")
myList.insert(5,"tomatoes")

Type in myList to look at the contents of the list again.

myList

Ask your student to describe what they think has happened. Encourage them to type in the command again, this time with a different number and a different word. What happens? Is it possible for the number to be too big? Let them experiment as much as they want.

>>> myList.insert(4,"or")
>>> myList.insert(5,"tomatoes")
>>> myList
['I', 'don’t', 'like', 'pickles', 'or', 'tomatoes', 'in', 'my', 'sandwiches']

Note: I encourage verbal descriptions of what is happening because when a child (or anyone, really) is given an instrument to use, it is easy to just begin banging away and typing things out. Describing code in words slows our brains down and is a good step in working on laying out the logic behind each line of code.

Understanding Parameters

Here, the important concepts to touch upon with your student is that there are two terms inside the parentheses. Now you can discuss with your student that each of these terms is called a parameter in Python. The first parameter determines the index location at which the second parameter will be inserted. The second parameter, in this case, does not necessarily have to be a string; as we learned in the last lessons, a list can hold different types of variables – they do not all have to be the same!

Removing Parameters

Another command we can use is remove(). The remove method takes one parameter, which is the value of the entry to remove. By values, we mean the information stored in each list entry. Have your student make a copy of the list by typing

testList=myList

Have them remove the entry “don’t” from testList. Let them brainstorm and try things out – if they get confused, remind them of the previous exercises. Commands like insert and remove modify existing lists. So, we know that our command for remove will look like testList.remove().We also know that the remove() method needs a parameter because, otherwise, it would not know which list entry to remove!

Therefore, our resulting command is

>>> testList.remove("don’t")
>>> testList
['I', 'like', 'pickles', 'or', 'tomatoes', 'in', 'my', 'sandwiches']
>>>

Now is a good time for us to discuss an important part of Python syntax. After that, we will do some more practice with list modification.

Parentheses Versus Brackets

 Now that we have seen that arrays have built-in features like indexing and attribute like length, your student might have noticed that some commands require [brackets] and others (parentheses). This is part of Python syntax; syntax refers to the way that a programming language uses punctuation and spacing to organize its flow and operation.

In general, brackets indicate that data is being created or accessed. One example of data being created is the declaration of our variable myList. One example of data being accessed is when we got the first entry in the list by typing in myList[0].

Discussion questions to help your student understand:

  • How can you tell that a variable is a list when you are creating it?
  • What happens if we try to use parentheses to create a list?
  • What do we use when we want to access a certain index value in a list?

As we discussed in the previous lesson, parameters are the inputs that we provide to each Python command, although not every command needs parameters. Parameters go in parentheses.

Discussion questions/test exercises to help your student understand:

  • What is a parameter?
  • What happens if we try to use brackets instead of parentheses for a list-modifying command like insert or remove?
  • Why do you think it is important for there to be a difference between bracket usage and parentheses usage?
    • This is an important and very fundamental concept! Bracket and parentheses differentiation is important because it avoids confusion between whether the programmer is giving a command or asking for information.
    • Example: if we have listA=[2,3,4,5], then we have list entries that are numbers. If there were no difference between brackets and parentheses, then remove(2) would be confusing because we would not be able to tell if we wanted to remove the value 2 (at index 0), or the value 4 (which is at index 2)

Summary

Your student is learning about how to manipulate variables in Python; we value coding because it is able to handle large amounts of data at a time. By working with lists, your student is learning how to access data using parameter inputs and gaining important basic knowledge of syntax.

Python Basics: Lists Digital Resource

Do you want all of the material covered in this tutorial in an easy to use in classroom lesson? Grab our Python Basic Lists Tutorial!

  • Comprehensive Python tutorial for teachers to introduce their students to Python Lists.
  • Includes a 6-page PDF worksheet with an answer guide and a 30-slide Google Slides presentation.
  • Covers essential Python list concepts.
  • PDF worksheet contains exercises that gradually develop students’ programming skills.
  • Google Slides presentation is engaging and visually appealing, with interactive examples and illustrations.
  • Real-world examples demonstrate practical applications of Python programming.
  • Suitable for both experienced and new programming instructors.
  • Provides a solid foundation in Python programming for students to build on.
  • An excellent resource to teach Python in a fun and effective way.

Python for Kids Tutorial Three: Let’s Write a Story!

Now, we are going to use our new Python skills to make something that is unique and all our own! Let’s write a story where the nouns and adjectives change each time we create the story.

Start with a simple story

Here is an example of what we will be doing:

name1="Anna"
adj1="happy"
sentence1=name1+" woke up in the morning feeling very "+adj1+"."
print sentence1

After running this code, the variable sentence1 now has the value ‘Anna woke up in the morning feeling very happy.’ The variables noun1 and adj1 are both strings – so is sentence 1. However, sentence 1 uses noun1 and adj1 within its value to combine the strings!

Create a fill-in-the-blank story

Now for the fun part! You can now create your own fill-in-the-blank story or use ours to create a funny story that your class will love. Write four to five sentence variables that use, in total, three noun strings, three adjective strings, and three place strings.

Or, if you want, you can use these:

sentence1= "Last year, I went on a "+adj1+" trip to "+place1+"." 
sentence2= "The weather there was "+adj2+", and I couldn't wait to eat a big "+noun1+" while I was there."
sentence3="Next year, I want to go to "+place2+", because I've always wanted to see the "+adj3+" "+noun2+"."

Notice that we have to include spaces before and after using a string variable! Otherwise, the words will be smushed together.

If you run this code right now, what do you think the problem will be? Are the variables noun1, adj1, place1 and so on declared yet? They are not. Let’s do that now.

Now it’s time to declare our variables. Have your students come up with a random list of nouns, places and adjectives and randomly declare them to each variable.

Here’s what we chose:

adj1="smelly"
adj2="silly"
adj3="adorable"
place1="Toronto"
place2="Texas"
place3="Mexico"
noun1="chair"
noun2="shoulder"
noun3="statue"

Once you have finished setting up the assignments for each variable, combine it with your sentence variables. The order in which we enter commands matters in Python, so if you define your sentences first before adding the pieces of random variable assignment code we just finished, your code will throw an error. Make sure you define all your variables before you try to use them! To print all your sentences together at the end, you can use the print command like this:

print sentence1,sentence2,sentence3

Here is what the final code looks like:

adj1="smelly"
adj2="silly"
adj3="adorable"
place1="Toronto"
place2="Texas"
place3="Mexico"
noun1="chair"
noun2="shoulder"
noun3="statue"
sentence1= "Last year, I went on a "+adj1+" trip to "+place1+"." 
sentence2= "The weather there was "+adj2+", and I couldn't wait to eat a big "+noun1+" while I was there."
sentence3="Next year, I want to go to "+place2+", because I've always wanted to see the "+adj3+" "+noun2+"."
print (sentence1,sentence2,sentence3)

Here’s how it looks when you run the code:

Last year, I went on a smelly trip to Toronto. The weather there was silly, and I couldn't wait to eat a big chair while I was there. Next year, I want to go to Texas, because I've always wanted to see the adorable shoulder.

Now let’s change the story each time we run the code

The above method is the simplest way to create a fill-in-the-blank story using python. However, we want to create a story which changes every time we run the code. We want our program to be able to choose a random noun, adjective or place from our list and automatically place it in our story.

Storing variables in a list

We could declare adj1 to always be “Smelly,” but then our story would not change each time we ran our code. We want a variety of names for our story to choose from! Let’s store the options in a list.

adjList=["wild","fluffy","hilarious"]

Now, we want to randomly choose which adjectives will be assigned to adj1, adj2, and adj3. Do you remember how to do that? We will be using the random library again, back from our lessons on numbers.

An example of random being used is as follows:

from random import randint
roll=randint(1, 6)
print(roll)

Using the random library to obtain a random adjective

How can we use the randint method to obtain a random adjective? Think about this for a while. What kind of variable type is the index of a list? When you have an idea, try writing out a bit of code that assigns a random name to the variables adj1, adj2 and adj3.

When you’re ready, compare your idea to this following bit of code:

minindex=0
maxindex=len(adjList)-1

index1=randint(minindex,maxindex)
adj1=adjList[index1]

index2=randint(minindex,maxindex)
adj2=adjList[index2]

index3=randint(minindex,maxindex)
adj3=adjList[index3]

In writing this code, my goal was to generate a random number that corresponds to an index of every adjective in the list of possible adjectives. I did this by 

  1.  defining the minimum and maximum possible index values (lines 1 and 2). Because indexing begins with 0, the highest number that we can index is always the length of the list minus 1. 
  2. defining an index which takes a random number with these minimum and maximum values (line 3)
  3. storing the adjective at this index as the variable to be used (line 4)
  4. repeating this three times

Now that we’ve taken care of the adjective variable assignments, do the same with the other variables! You will want to create a placeList and a nounList and use the randint method to select a random variable from your list.

Putting it all together

Once you have finished setting up the random assignments for each variable, combine it with your sentence variables. The order in which we enter commands matters in Python, so if you define your sentences first before adding the pieces of random variable assignment code we just finished, your code will throw an error. Make sure you define all your variables before you try to use them! 

Your final code will look something like this:

from random import randint
adjList=["wild","fluffy","hilarious"]
placeList=["Chicago","China","Brazil"]
nounList=["telephone", "karate", "toilet"]
minindex=0
maxindex=len(adjList)-1
index1=randint(minindex,maxindex)
adj1=adjList[index1]
index2=randint(minindex,maxindex)
adj2=adjList[index2]
index3=randint(minindex,maxindex)
adj3=adjList[index3]
minindex=0
maxindex=len(placeList)-1
index1=randint(minindex,maxindex)
place1=placeList[index1]
index2=randint(minindex,maxindex)
place2=placeList[index2]
index3=randint(minindex,maxindex)
place3=placeList[index3]
minindex=0
maxindex=len(adjList)-1
index1=randint(minindex,maxindex)
noun1=nounList[index1]
index2=randint(minindex,maxindex)
noun2=nounList[index2]
index3=randint(minindex,maxindex)
noun3=nounList[index3]
sentence1= "Last year, I went on a "+adj1+" trip to "+place1+"." 
sentence2= "The weather there was "+adj2+", and I couldn't wait to eat a big "+noun1+" while I was there."
sentence3="Next year, I want to go to "+place2+", because I've always wanted to see the "+adj3+" "+noun2+"."
print (sentence1,sentence2,sentence3)

Here’s what I got the first time I ran this code:

Last year, I went on a fluffy trip to Brazil. The weather there was fluffy, and I couldn't wait to eat a big telephone while I was there. Next year, I want to go to Brazil, because I've always wanted to see the hilarious karate.

And here’s what I got the second time I ran this code:

Last year, I went on a hilarious trip to China. The weather there was fluffy, and I couldn't wait to eat a big telephone while I was there. Next year, I want to go to Brazil, because I've always wanted to see the wild karate.

As you can see, the story changes each time you run the code. The more variables you define the more options for your story and the more hilarious combinations you may create!

Python Write a Story Digital Resource

Do you want all of the material covered in this tutorial in an easy to use in classroom lesson? Grab our Python Basics Story Tutorial!

  • Comprehensive Python tutorial for teachers to introduce their students to Python.
  • Includes a 5-page PDF worksheet with an answer guide and a 27-slide Google Slides presentation.
  • Covers how to program a Mad Libs Style story in Python.
  • PDF worksheet contains exercises that gradually develop students’ programming skills.
  • Google Slides presentation is engaging and visually appealing, with interactive examples and illustrations.
  • Suitable for both experienced and new programming instructors.
  • Provides a solid foundation in Python programming for students to build on.
  • An excellent resource to teach Python in a fun and effective way.

Frequently Asked Questions About Python for Kids

Can a kid learn Python?

Absolutely yes! Python is one of the easiest text based programming languages for kids to learn. Python has an easy-to-understand syntax which makes it ideal for beginners.

What is the right age to learn Python?

The ideal time to start learning Python is around 12 years of age. Middle school is a perfect time for children to start learning text-based programming languages like Python. It’s easy to get started with simple Python programs.

Can a 7 year old learn Python?

Python is better suited to children age 12 and up. For younger children, block based programming languages like Scratch or Blockly are preferred.

Can a 10 year old learn Python?

If your 10 year old has already mastered block based coding languages like Scratch and Blockly, they may be ready for beginner Python tutorials. Typically we recommend starting Python at age 12.

How do I teach my kid Python?

It’s easy to get started with Python! Our free beginner tutorial provides a basis for getting started with basic Python programming. This is the best way to get started learning Python for kids.

Advanced Python Tutorials

Check out our advanced Python tutorials here:

Pin for Later!

This is part two of our Python tutorial for kids. It's easy to learn Python programming with these simple lesson plans for the computer science classroom. Get your students coding with this easy introduction to one of the most useful programming languages in the world. Kids will learn real world skills that will help them to understand the python coding language. #coding #hourofcode

Get Your Free Binary Worksheets
PDF worksheets will be sent to your inbox
Featured Image

Similar Posts

5 Comments

  1. hi, recently we bought Teach Your Kid to Code on Udemy, and instructor indicates that we can download the files from this website. Can you provide the path to the files please?

  2. a really useful and easy way to learn python and i can understand it well. it is a good experience for childrens that they can read this instead of wasting their time in holidays playing video games. thanks for the publisher as i learnt what is python

  3. Thanks for sharing such great informative blog with the help of which can we teach python for kids. I think in this digital age, where we all dominated by technology, it is important to introduce coding for kids at an early stage. Educating kids about basic of coding will not only develop their critical thinking but also create better opportunities for the future. Due to growth of technology, we have plenty of resources available which makes learning of coding for kids a lot more fun & interactive than before. At TechyKids Canada we have various programs designed for students which teach them about basics of coding to advance python.

Leave a Reply

Your email address will not be published. Required fields are marked *