This is a tutorial for novice programmers. You are the learner I had in mind when writing these exercises if:
- you have no programming experience at all
- you have some experience with a different programming language like R, MATLAB or C.
- you would like to teach Python to others
Pick an exercise and start programming!
Chapter | Difficulty |
---|---|
Installing Python | ⭐ |
Python as a calculator | ⭐ |
Hello World | ⭐ |
Ada Lovelace | ⭐ |
Rock-Paper-Scissors | ⭐ |
Square Numbers | ⭐ |
Slideshow | ⭐ |
Chapter | Difficulty |
---|---|
Strings | ⭐ |
Lists | ⭐ |
Dictionaries | ⭐⭐ |
Nested Lists | ⭐⭐ |
Data Types Overview | ⭐ |
Challenge | Difficulty |
---|---|
Reading a text file | ⭐ |
Extracting data from text | ⭐ |
Writing files | ⭐ |
Create a Time Series | ⭐ |
Working with directories | ⭐ |
Chapter | Difficulty |
---|---|
Conditional Loops | ⭐ |
Writing your own Functions | ⭐⭐ |
Shortcuts | ⭐⭐ |
Challenge | Difficulty |
---|---|
Christmas Tree | ⭐ |
Pyramid | ⭐ |
Fizz-Buzz-Test | ⭐ |
Tic-Tac-Toe | ⭐⭐ |
Checkerboard | ⭐⭐ |
Challenge | Difficulty |
---|---|
Palindrome | ⭐⭐ |
Anagrams | ⭐⭐ |
Roman Numbers | ⭐⭐⭐ |
Encryption | ⭐⭐⭐ |
Minesweeper | ⭐⭐⭐ |
Challenge | Difficulty |
---|---|
Factorials | ⭐ |
Common Divisor | ⭐ |
Fibonacci | ⭐⭐ |
Multiplicative Digital Root | ⭐⭐ |
Birthday Problem | ⭐⭐ |
Challenge | Difficulty |
---|---|
Binary Search | ⭐ |
Sorting Algorithms | ⭐ |
Chained List | ⭐⭐ |
Josephus' Problem | ⭐⭐ |
Tree Traversal | ⭐⭐ |
Graph Traversal | ⭐⭐⭐ |
Magic Square | ⭐⭐⭐ |
Traveling Salesman | ⭐⭐⭐ |
Backpack Problem | ⭐⭐⭐⭐ |
Blockchain | ⭐⭐⭐⭐ |
Challenge | Difficulty |
---|---|
Ping Pong | ⭐⭐ |
Google Search | ⭐⭐⭐ |
Download Web Pages | ⭐⭐⭐ |
© 2015 Dr. Kristian Rother (krother@academis.eu)
with contributions by Allegra Via, Kaja Milanowska, Anna Philips, @ShalokShalom and @devSython.
Distributed under the conditions of the Creative Commons Attribution Share-alike License 4.0
Sources of this document can be found on https://github.com/krother/Python3_Basics_Tutorial
I would like to thank the following people for inspiring exchange on training and Python that this tutorial has benefited from: Pedro Fernandes, Tomasz Puton, Edward Jenkins, Bernard Szlachta, Robert Lehmann and Magdalena Rother