Note!
The window is too narrow to use Pythonlab.dev. Use a device with a keyboard!
Reference
Click on a function to read more.
Basics part 1
Syntax
Short description
break
break interrupts code that is repeated
Example
while True:
print('You are nice!')
answer = input('Should I stop saying that? Write yes in that case.')
if answer == 'yes':
break
Explanation
break interrupts code that is repeated. For example when while is used.
continue
continue interrupts a repetition and starts the next
Example
i = 0
while i < 100:
if i % 2 == 0: # continue with the next repetition if i is divisible by 2
continue
print(i,'is an odd number')
Explanation
continue interrupts the execution in the current repetition/iteration and continues with the next repetition. Used in while-statements and for-statements.
elif
elif is a combination of else and if
Example #1
temp = int(input('What is the temperature?'))
if temp > 20:
print('Warm and nice!')
elif temp > 0: #if temp <= 20 and temp > 0
print('Not very cold, but not so warm either.')
Example #2
number = int(input('Enter an integer'))
if number == 0:
print('You entered the number 0.')
elif number > 0:
print('You entered a positive number.')
else:
print('You entered a negative number.')
Explanation
elif is only used after if. It is a combination of else and if, meaning ELSE (if the above is false) and IF (if the new condition is true). The condition for elif is only tested if the condition for if is false.
Syntax
elif condition:
condition
Required. Something that is True or False.
else
else can be used last in an if-statement
Example
age = int(input('How old are you?'))
if age >= 18:
print('You are an adult!')
else:
print('You are not an adult.')
Explanation
else is only used at the end of a block that starts with if, and the code under else is only executed if the condition for if is false.
float()
Converts to type float (decimal number)
Example
float('0.01') #converts the string '0.01' to 0.01
float(10) #converts the integer 10 to 10.0
Explanation
The function float() converts the argument to type float (decimal number). Usually, the argument is a string or an integer.
Syntax
float(number)
Argument
number
A number in the form of a string or an integer.
if
if controls the code to do different things depending on a condition
Example #1
number = 10
if number == 10:
print('The number is equal to 10.') #this will be printed
Example #2
number = int(input('Enter an integer'))
if number == 0:
print('You entered the number 0.')
elif number > 0:
print('You entered a positive number.')
else:
print('You entered a negative number.')
Explanation
if is used to control what the program does depending on a condition. If the condition is true, the code in the if-block is executed. To control
what happens if the condition is not true, elif and else can be used.
Syntax
if condition:
condition
Required. Something that is True or False.
input()
Receives input from the user
Example
answer = input('What is your name?') #The user's answer is saved in the variable answer
Explanation
The function input() allows the user to enter input into the program. It is possible to include text that describes what should be entered.
Syntax
input(prompt)
Argument
prompt
An optional text the user sees.
int()
Converts to type int (integer)
Example
int(42) #converts the string '42' to 42
int(3.94) #converts the decimal number 3.94 to 3
Explanation
The function int() converts the argument to type int (integer). Usually, the argument is a string or a decimal number.
Syntax
int(number)
Argument
number
A number in the form of a string or a decimal number.
print()
Prints text or the content of a variable to the screen
Example #1
print('Hello World') #prints "Hello World"
print(1+1) #prints the number 2
print(x) #prints the content of variable x
Example #2
print('Hello World', end='') #prints "Hello World" without a new line
Example #3
print('Hello','to','you') #Prints "Hello to you"
print('Hello','to','you',sep=' | ',end='!') #prints "Hello | to | you!" without a new line at the end.
Explanation
The function print() prints a string to the screen. Automatically tries to convert what is to be printed to text.
Syntax
print(*object, sep=' ', end='\n')
Argument
*object
Required. One or more objects to be printed. Separate objects with commas.
sep
Character to separate the objects being printed. Default is space.
end
Character that ends the text being printed. Default is "\n" - which means new line.
randint()
Generates a random integer
Example
from random import randint
roll = randint(1,6) #a random number 1-6
Explanation
The function randint() generates a random integer between two integer values a and b such that a <= N <= b. randint is in the random module.
Syntax
randint(a,b)
Argument
a
The smallest random number that can be generated.
b
The largest random number that can be generated.
round()
Rounds a number
Example #1
round(7.89) #rounds to 8
round(1.23) #rounds to 1
Example #2
round(1.23456,2) #rounds 1.23
round(1.23456,4) #rounds to 1.2346
Explanation
The function round() rounds a decimal number. By default to an integer, it is possible to set round() to round to an arbitrary number of decimals.
Syntax
round(number, decimalplaces = 0)
Argument
number
Required. The number to be rounded.
decimalplaces
Number of decimals the number should be rounded to. Default is 0.
str()
Converts to type string
Example #1
str(2.71) #converts the decimal number 2.71 to the string '2.71'
str(10) #converts the integer 10 to '10'
Example #2
age = 15
print('You are ' + str(age) + ' years old.')
Explanation
The function str() converts the argument to a string. Often the argument is an integer or a decimal number. It can also be significantly more complex data types that can be converted to strings.
Syntax
str(object)
Argument
object
An object that can be converted to a string.
while
while is used to repeat code
Example
n = int(input('How many numbers do you want to print?'))
i = 1
while i <= n:
print(i)
i = i + 1
Explanation
while repeats the code in the block as long as the condition is true.
Syntax
while condition:
condition
Required. Something that is True or False. Must become false at some point for the while-block to be exited.
Basics part 2
Syntax
Short description
abs
Absolute value
Example
a = abs(5) # a = 5
b = abs(-5.2) # b = 5.2
Explanation
abs takes the absolute value of a number and thus always returns a positive number.
Syntax
abs(number)
Argument
number
Required. A valid number, integer, float, or complex number.
append
Adds an element to a list
Example #1
my_list = [1,2,3]
my_list.append(4) # now [1,2,3,4]
Example #2
my_list = ["one",2,3.0] # in Python, a list can consist of different types
my_list.append([1,2,3,4]) # now ["one",2,3.0,[1,2,3,4]]
Explanation
append adds an element to the end of a list. The list must already exist. It can be empty.
Syntax
my_list.append(element)
Argument
element
Required. The element to be added to the end of the list.
def defines a new function. A function can have arguments that you can use to pass data to the function.
The function can also return data using return.
for
for is used to repeat code
Example #1
for i in range(10): # i goes from 0 to 9
print(i) # runs ten times
Example #2
for character in 'Pythonlab.dev':
print(character)
Example #3
for element in [1,3,3,7]:
print(element)
Explanation
for repeats the code in the block for all elements in an object. The object is for example a range, list or string.
Syntax
for variable in object:
variable
Required. The variable changes content to the current element for each iteration.
object
Required. The object to iterate over. For example, a list.
How to read the value at a specific position in the list
How to add and remove elements in a list
Some useful functions associated with lists
List Basics
When programming, it is very common to use a structure that can store a number of values in a specific order.
This structure has many names, such as array, list, or vector.
In Python, the word list is used.
A list allows duplicates. It is also possible to have lists inside a list to create a matrix or a two-dimensional list.
In Python, different elements can be of different types, which is not the case in many other languages.
We start by creating a list consisting of three fruits.
To create the list, square brackets [ ] are used.
Values in the list are separated by commas.
Using print, we print the contents of the list.
Example
We create a list named fruits containing three strings of fruit names and print it.
In a list, we always start counting from zero. The first element has index 0.
In the example above, we can read the first value in the list by writing fruits[0].
To read the second value in the list, we write fruits[1], and so on.
In Python, we can use negative indices to go backwards from the end.
The last element is read with fruits[-1], and the second to last element is read with fruits[-2].
The fact that the first element in a list is element 0 is usually confusing for beginners.
What's worse, there are programming languages where counting starts from one, although this is uncommon.
Example
How we can read values. We use the notation fruits[i] where i is the index of the element in the list.
Read the code below and try to figure out what the program prints. Run the program after you answer and see if you were correct.
-- Output from your program will be here --
Question: What will the program print?
Java
Python
PHP
Adding and Removing Elements
We can write fruits = [] to create an empty list.
For each list created, a number of functions are available that can be used on the list, such as append() and pop().
We write the list's name, followed by a dot, to access its functions.
For example, we can write fruits.append('Pear') to add another fruit to the list. The new element is added to the end of the list.
The function pop(index) can be used to remove the element at position index from a list.
For example, if we want to remove the first element in the list, we write fruits.pop(0).
If we want to remove the last element, it is enough to write fruits.pop(); without an argument, -1 is used as the default index.
The pop() function also returns the element that was removed, in case we want to use it.
Example
We start with an empty list, add a couple of elements, and then remove the first and last. Click run to see what the list contains at the different steps.
fruits = []
fruits.append('Apple')
fruits.append('Banana')
fruits.append('Mango') #fruits = ['Apple', 'Banana', 'Mango']
fruits.pop(0) #remove the first element, 'Apple'.
fruits.pop(-1) #remove the last element, 'Mango'.
fruits = []
fruits.append('Apple')
fruits.append('Banana')
fruits.append('Mango') #fruits = ['Apple', 'Banana', 'Mango']
print('fruits = ' + str(fruits))
fruits.pop(0) #remove the first element, 'Apple'.
print('fruits = ' + str(fruits))
fruits.pop(-1) #remove the last element, 'Mango'.
print('fruits = ' + str(fruits))
Example
A list can contain any data type, for example, integers. Here, a list of three integers is first created. The integer 20 is added to the list, and then the second integer in the list is removed.
numbers = [10, 5, 35]
numbers.append(20)
removed = numbers.pop(1)
print('We removed the number ' + str(removed))
numbers = [10, 5, 35]
numbers.append(20)
print(numbers)
removed = numbers.pop(1)
print(numbers)
print('We removed the number ' + str(removed))
Read the code below and try to figure out what the program prints. Run the program after you answer and see if you were correct.
-- Output from your program will be here --
Question: What will the program print?
Volvo
Tesla
Audi
It is good to know that if the list is large, it is quite inefficient to, for example, remove and add elements to the list (except at the end of the list).
If this needs to be done often, there are better data structures that we will learn more about later.
List Length
To see how many elements are in a list, we can use the helper function len() with the list as an argument.
This is useful, for example, if we want to loop through the entire list using while.
Example
Prints each element in the list on its own line. Also takes the opportunity to show how a list can be created with one element per line.
fun_english_words = [
'Shenanigans',
'Bamboozle',
'Bodacious',
'Brouhaha',
'Canoodle',
'Malarkey'
]
count = len(fun_english_words)
index = 0
while index < count:
print(fun_english_words[index])
index = index + 1
fun_english_words = [
'Shenanigans',
'Bamboozle',
'Bodacious',
'Brouhaha',
'Canoodle',
'Malarkey'
]
count = len(fun_english_words)
index = 0
while index < count:
print(fun_english_words[index])
index = index + 1
In the example above, the condition to continue the loop is index < count.
It is important that index never becomes as large as count.
The list fun_english_words contains six elements.
If we try to read outside the list when index = 6 with fun_english_words[6], the program will stop and we will get an error message.
Example
Example of an error message if we try to read outside the list.
The last element is read with my_list[5]. my_list[6] results in an error message
of type IndexError.
Using in, we can check if an element exists in the list. For example, 5 in my_list is True if 5 is in the list.
We can combine this with not to check if the element is not in the list.
Example
We create a list of names and then test if a name is in the list or not. Feel free to test with other names.
the_team = ['Anton', 'Beatrice', 'Cecilia', 'David']
if 'Cecilia' in the_team:
print('Cecilia is on the team.')
if 'Zlatan' not in the_team:
print('Zlatan is not on the team.')
the_team = ['Anton', 'Beatrice', 'Cecilia', 'David']
if 'Cecilia' in the_team:
print('Cecilia is on the team.')
if 'Zlatan' not in the_team:
print('Zlatan is not on the team.')
Test your knowledge
Below are two exercises to learn how to use lists.
The program should receive a number of integers from the user, put them in a list, and then print the sorted list. To sort the list, my_list.sort() is used.
Write a function named filter that takes a list as its only argument. Return a new list that contains only the positive integers from the original list and in the same order.