Learn to Code via Tutorials on Repl.it!

← Back to all posts
Learn To Code In Python
PYer (4017)

Teaches you how to code in python. By PYer
This tutorial excpects some basic knowledge of coding in another language.


What is python?

Python is a very popular coding language. Little people use it for serious projects, but it is still useful to learn. It was created in 1991 by Guido van Rossum.
Look at a few uses of python:

  • Desktop Applications
  • Web Applications
  • Complex Scientific Equations

Let's look at a few reasons why it is useful:

  • Readable/Understandable Code
  • Compatible with other systems/platforms
  • Millions of useful modules

These are just a few, you can find a bunch more by researching it.

Know This Before We Start

What we will be teaching you is specifically python 3. This is the most updated version, but the version 2 is still widely used.
Here we will be using replit, but there are multiple text editors you can find.

Python Syntax

Python syntax was made for readability, and easy editing. For example, the python language uses a : and indented code, while javascript and others generally use {} and indented code.

First Program

Lets create a python 3 repl, and call it Hello World. Now you have a blank file called main.py. Now let us write our first line of code:


print('Hello world!')

Brian Kernighan actually wrote the first "Hello, World!" program as part of the documentation for the BCPL programming language developed by Martin Richards.

Now, press the run button, which obviously runs the code. If you are not using replit, this will not work. You should research how to run a file with your text editor.

Command Line

If you look to your left at the console where hello world was just printed, you can see a >, >>>, or $ depending on what you are using. After the prompt, try typing a line of code.

Python 3.6.1 (default, Jun 21 2017, 18:48:35)
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
> print('Testing command line')
Testing command line
> print('Are you sure this works?')
Are you sure this works?

The command line allows you to execute single lines of code at a time. It is often used when trying out a new function or method in the language.

New: Comments!

Another cool thing that you can generally do with all languages, are comments. In python, a comment starts with a #. The computer ignores all text starting after the #.


# Write some comments!

If you have a huge comment, do not comment all the 350 lines, just put ''' before it, and ''' at the end. Technically, this is not a comment but a string, but the computer still ignores it, so we will use it.


Dear PYer,
I am confused about how you said you could use triple quotes to make

I am wondering if this is true,
and if so, 
I am wondering if this is correct.

Could you help me with this?

Random guy who used your tutorial.

New: Variables!

Unlike many other languages, there is no var, let, or const to declare a variable in python. You simply go name = 'value'.


x = 5
y = 7
z = x*y # 35
print(z) # => 35

Remember, there is a difference between integers and strings. Remember: String = "". To convert between these two, you can put an int in a str() function, and a string in a int() function. There is also a less used one, called a float. Mainly, these are integers with decimals. Change them using the float() command.


x = 5
x = str(x)
b = '5'
b = int(b)
print('x = ', x, '; b = ', str(b), ';') # => x = 5; b = 5;

Instead of using the , in the print function, you can put a + to combine the variables and string.


There are many operators in python:

  • +
  • -
  • /
  • *
    These operators are the same in most languages, and allow for addition, subtraction, division, and multiplicaiton.
    Now, we can look at a few more complicated ones:
  • %
  • //
  • **
  • +=
  • -=
  • /=
  • *=
    Research these if you want to find out more...


x = 4
a = x + 1
a = x - 1
a = x * 2
a = x / 2

You should already know everything shown above, as it is similar to other languages. If you continue down, you will see more complicated ones.


a += 1
a -= 1
a *= 2
a /= 2

The ones above are to edit the current value of the variable.
Sorry to JS users, as there is no i++; or anything.

Fun Fact:
The python language was named after Monty Python.

If you really want to know about the others, view Py Operators

More Things With Strings

Like the title?
Anyways, a ' and a " both indicate a string, but do not combine them!


x = 'hello' # Good
x = "hello" # Good
x = "hello' # ERRORRR!!!


String Slicing

You can look at only certain parts of the string by slicing it, using [num:num].
The first number stands for how far in you go from the front, and the second stands for how far in you go from the back.

x = 'Hello everybody!'
x[1] # 'e'
x[-1] # '!'
x[5] # ' '
x[1:] # 'ello everybody!'
x[:-1] # 'Hello everybod'
x[2:-3] # 'llo everyb'

Methods and Functions

Here is a list of functions/methods we will go over:

  • .strip()
  • len()
  • .lower()
  • .upper()
  • .replace()
  • .split()

I will make you try these out yourself. See if you can figure out how they work.


x = " Testing, testing, testing, testing       "
print(x.replace('test', 'runn'))

Good luck, see you when you come back!

New: Input()

Input is a function that gathers input entered from the user in the command line. It takes one optional parameter, which is the users prompt.


print('Type something: ')
x = input()
print('Here is what you said: ', x)

If you wanted to make it smaller, and look neater to the user, you could do...


print('Here is what you said: ', input('Type something: '))


Type something:
Hello World
Here is what you said: Hello World


Type something: Hello World
Here is what you said: Hello World

New: Importing Modules

Python has created a lot of functions that are located in other .py files. You need to import these modules to gain access to the,, You may wonder why python did this. The purpose of separate modules is to make python faster. Instead of storing millions and millions of functions, , it only needs a few basic ones. To import a module, you must write input <modulename>. Do not add the .py extension to the file name. In this example , we will be using a python created module named random.


import random

Now, I have access to all functions in the random.py file. To access a specific function in the module, you would do <module>.<function>. For example:


import random
print(random.randint(3,5)) # Prints a random number between 3 and 5

Pro Tip:
Do from random import randint to not have to do random.randint(), just randint()
To import all functions from a module, you could do from random import *

New: Loops!

Loops allow you to repeat code over and over again. This is useful if you want to print Hi with a delay of one second 100 times.

for Loop

The for loop goes through a list of variables, making a seperate variable equal one of the list every time.
Let's say we wanted to create the example above.


from time import sleep
for i in range(100):

This will print Hello with a .3 second delay 100 times. This is just one way to use it, but it is usually used like this:


import time
for number in range(100):


while Loop

The while loop runs the code while something stays true. You would put while <expression>. Every time the loop runs, it evaluates if the expression is True. It it is, it runs the code, if not it continues outside of the loop. For example:


while True: # Runs forever
     print('Hello World!')

Or you could do:


import random
position = '<placeholder>'
while position != 1: # will run at least once
    position = random.randint(1, 10)

New: if Statement

The if statement allows you to check if something is True. If so, it runs the code, if not, it continues on. It is kind of like a while loop, but it executes only once. An if statement is written:


import random
num = random.randint(1, 10)
if num == 3:
     print('num is 3. Hooray!!!')
if num > 5:
     print('Num is greater than 5')
if num == 12:
     print('Num is 12, which means that there is a problem with the python language, see if you can figure it out. Extra credit if you can figure it out!')

Now, you may think that it would be better if you could make it print only one message. Not as many that are True. You can do that with an elif statement:


import random
num = random.randint(1, 10)
if num == 3:
    print('Num is three, this is the only msg you will see.')
elif num > 2:
    print('Num is not three, but is greater than 1')

Now, you may wonder how to run code if none work. Well, there is a simple statement called else:


import random
num = random.randint(1, 10)
if num == 3:
    print('Num is three, this is the only msg you will see.')
elif num > 2:
    print('Num is not three, but is greater than 1')
    print('No category')

New: Functions (def)

So far, you have only seen how to use functions other people have made. Let use the example that you want to print the a random number between 1 and 9, and print different text every time.
It is quite tiring to type:

Characters: 389


import random
print(random.randint(1, 9))
print('Wow that was interesting.')
print(random.randint(1, 9))
print('Look at the number above ^')
print(random.randint(1, 9))
print('All of these have been interesting numbers.')
print(random.randint(1, 9))
print("these random.randint's are getting annoying to type")
print(random.randint(1, 9))
print(random.randint(1, 9))

Now with functions, you can seriously lower the amount of characters:

Characters: 254


import random
def r(t):
     print(random.randint(1, 9))
r('Wow that was interesting.')
r('Look at the number above ^')
r('All of these have been interesting numbers.')
r("these random.randint's are getting annoying to type")


There you go! Try making your own functions!

The End

Now you know all of the basics of python. Congratulations!

Updated: Thanks for all the feedback and comments guys! This is the post I'm proudest of!!!! So amazed to hear that some schools have been using this to guide students, glad I'm making a difference!

PYer (4017)

Now it teaches you all of the basics of python. If anybody wants me to add more, comment below please. Thank you!

Vagasvic (14)

@PYer hi this is really a helpful post, especially for new comers like me :D .. Two things I didn't get yet is about: try and exception. I'll be glad if you add something about those things hehe

PYer (4017)

@Vagasvic I am kind of busy right now. I may in the future. In the meantime, you can read this article https://realpython.com/python-exceptions/#the-try-and-except-block-handling-exceptions that I used when learning about them.

Vagasvic (14)

@PYer thank you, what a great source to learn :) I had read or watched some litle things about try and exception, I was just giving you a suggestion to improve this post

jwangtcsyl (10)

@PYer Thanks, it is helpful to me( ^ ^ )

DerrickLukimin (3)

@PYer like create some advanced ones like Flask

AarishKodnaney (5)

@PYer can you do one on object oriented python?

multicoder2021 (4)

Yes, please make a tutorial on Python Audio, or include in another one.

PYer (4017)

Interesting idea. Working on another project right now though. I'm sure there are some already? I'll tell you if I make one, thanks for the suggestion! @multicoder2021

joejox (6)

my school is using you just so you know (thats how good this is)

PYer (4017)

Hello @joejox! I was thinking about your comment, and just had a few questions I wanted to ask you! Don't feel obligated to answer them, I'm just curious.

  • Where is your school located? (Just a general area, such as the US or UK)
  • What type of school is it? Public or private?
  • Exactly what class is using it? (A computer science elective, a STEM class, etc)
  • What grade level? This is just to understand what age audience it works for.
  • What is the coding experience most of the students have? (None, minimal, proficient, etc). Do they already know a little python, or any other languages?
  • Do you feel like it was successful? Did it actually help? And if you answer this one, please be honest (I won't be offended :) )

Thanks! And like I said, don't feel obligated to answer any or all of these questions. This will just help me research and plan ways to write tutorials aimed for certain people.
Thanks again, and thanks for telling me!

SovereignKoi (3)

Wow. This is an insanely helpful guide. Thanks for taking the time to make this!

PYer (4017)

Thanks! I'm glad to hear you learned from it! @SovereignKoi

betman123 (3)

a iot of thanks!!good service!! i love it!

Golub132 (6)

Thanks!That was usefull!

PYer (4017)

Thank you! Any specific parts, or any suggestions? @Golub132

Golub132 (6)

@PYer i do not understand def quite properly

PYer (4017)

all right, I'll add some more information later. @Golub132

khalilsajjad786 (2)

You have written a nice and thoughtful article.
please check my article:https://www.plusfeeds.com/best-ide-for-python/

PYer (4017)

Glad you liked it! @jonnnn

LexiEmir (1)

I read your article in Turkey and liked it to be explanatory, thank you <3
(I'm not sure if I wrote correctly lol)

PYer (4017)

You're good! Glad to hear you like it! And the english is good. some incorrect usage, but I got exactly what you meant! Thanks! @LexiEmir

Greenero1 (1)

Not sure will be going any were with this, as have memory problems, but thank you all the same.

PYer (4017)

Oooh. No problem. What languages do you prefer? @Greenero1


Thank you for an aspiring coder. This was nice!

firedragondnd (46)

@PYer why do you have to always make the most helpful tutorials 😝😁

PYer (4017)

I guess I'm just amazing like that. Lol, the tutorial was made in about 1 hour. You can see my time started running out at the end lollllllll And thanks! @firedragondnd

NZHacker808 (108)

What do I need to add in if I want the world viewers to type in an answer into my repl? @PYer

PYer (4017)

I'm sorry, but I don't understand your questionn. @Miner36number2

studentAlfredAl (443)

I think he means the user input @PYer

PYer (4017)

oh sure. @studentAlfredAl
@Miner36number2 Use the input function and store it in a variable. For example:

text = input("Type something here")
Chewyblockguy (9)

cool! I might use this. I mostly do css and html.

PYer (4017)

Cool! CSS and HTML are styling and markup languages respectivly. Using a programming language is a different experience and has many different capabilities. I definitely recommend it! @Chewyblockguy


ArwenPotter (0)

🎖️🎖️🎖️👍🏻👍🏻👍🏻So helpful! Thanks a lot!😁😁😁🏆🏆🏆

ZiadAlbitar (0)

Hello, I am curious to why you could get 12 with the "num = random.randint(1, 10)" command

PYer (4017)

You can't it was just an example of something that isn't true. Sorry if that caused confusion. @ZiadAlbitar

pyashika (1)

@PYer FIGHTING!!!!!!!!!!!!

BluntMachete (0)

Great article! Can we work on a project together? If so, please email me at [email protected]! Thanks a lot! I have medium experience with python and have a big project in mind!

IgorKusov (0)

Good tutorial!
You have a typo in slicing.py
x[1] # is not 'H' but 'e'

PYer (4017)

Thanks! Can't believe nobody's caught that before. I wonder how many new coders I've already confused. @IgorKusov

MrCryptomicNeo (0)

this really helped

hollimu (0)

Can anyone suggest the best way to start learning to code, total begineer.

PYer (4017)

It depends, are you looking for resources for a specific language? @hollimu

NicholasWhite6 (3)

@PYer hello im trying to create a game through python how do i change color of text on the console

PYer (4017)

Try ASCII color codes. That's a pretty common way. You could also try some modules. @NicholasWhite6

PotatooooooMan (0)

@PYer I don't understand the if statement, I want to check if someone wrote something, but I don't understand how, nothing I try works.

Alice688 (105)

@PotatooooooMan An if statement basically means, if this is true then do this, else do that. You also can write it with an input function. Here, copy this and paste it on your repl:

answer = input("Flower or not flower:") 
if answer == 'flower':

Got it?

PYer (4017)

thanks for responding to that question. great, simple explanation. @Alice688 I've been busy, I must have missed the comment.

gatorade322 (123)

you know, you don't HAVE to submit a repl

PYer (4017)

Sorry, this post is OLD. It was required when I created it. @gatorade322

gatorade322 (123)

@PYer oh, that makes sense, OK!

techgeek680 (73)

Thank you so much! That was super helpful! I knew nothing about Python and this has helped me a lot. Question, what happened here?

PYer (4017)

Two things, @techgeek680. #1) Indent the lines in the code block for the if statement. Like you did with the first one. #2) You need to add an ending quote on that line after the content of the string

NZHacker808 (108)

@PYer What do you do if you want to print something in slow motion?