Here you find exercises for people new to Python. I wrote them for teachers looking for material and people learning Python by themselves.
The goal of the exercises is to enable you to write Python programs up to 200 lines. The exercises cover six areas:
area | description |
---|---|
🚀 applications | programs that do fun stuff |
💡 functions and data types | useful Python objects |
⚙ syntax | grammar rules and keywords |
🔀 patterns | useful expressions and idioms |
🔧 tools | things that make programming easier |
🐞 debugging | discover and fix broken code |
.. toctree:: :maxdepth: 1 first_steps/installing_python.rst first_steps/python_shell.rst first_steps/hello.rst first_steps/type_conversions.rst first_steps/rock_paper_scissors.rst first_steps/for.rst first_steps/guess_the_number.rst first_steps/cypher.rst first_steps/bill.rst first_steps/dictionaries.md first_steps/indexing.rst first_steps/nested_lists.rst first_steps/builtin_functions.rst first_steps/slideshow.rst first_steps/babynames.rst first_steps/statistics.rst debugging/README.rst refactoring/refactoring.rst challenges/text_adventure.rst
.. toctree:: :maxdepth: 1 challenges/ctree.rst challenges/fizzbuzz.rst challenges/quiz.rst challenges/checker.rst challenges/baby_name_generator.rst challenges/palindrome.rst challenges/anagrams.rst challenges/tictac.rst challenges/minesweeper.rst challenges/gcd.rst challenges/fibonacci.rst challenges/querprodukt.rst challenges/birthdays.rst challenges/misty_mountains.rst challenges/sierpinski.rst challenges/count_words.rst challenges/spiral.rst
Examples of common Python commands
.. toctree:: :maxdepth: 1 reference/ipython_shell.rst reference/run_from_terminal.rst reference/basics.rst reference/data_types.rst reference/numbers.rst reference/strings.rst reference/tuples.rst reference/lists.rst reference/dictionaries.rst reference/type_conversions.rst reference/indexing.rst reference/print.rst reference/string_formatting.rst reference/input.rst reference/reading_files.rst reference/writing_files.rst reference/os.rst reference/if.rst reference/for_loops.rst reference/while.rst reference/builtin_functions.rst reference/functions.rst
.. toctree:: :maxdepth: 1 links.md
Acknowledgements
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
License
© 2023 Dr. Kristian Rother
with contributions by Allegra Via, Kaja Milanowska, Anna Philips, @ShalokShalom and @devSython.
Usable under the conditions of the Creative Commons Attribution Share-alike License 4.0 (CC-BY-SA 4.0). See creativecommons.org for details
Sources of this document can be found on https://github.com/krother/Python3_Basics_Tutorial