# ๐Ÿ Python Functions Tutorial and Exercises By @alesanchezr and other contributors at 4Geeks Academy *Estas instrucciones [estรกn disponibles en ๐Ÿ‡ช๐Ÿ‡ธ espaรฑol](https://github.com/4GeeksAcademy/python-functions-programming-exercises/blob/master/README.es.md) :es:* Learn and practice Python Functions. You will see the following concepts: 1. Declaring a function. 2. Calling a function. 3. Function scopes. 4. Nest functions. 5. Recursive functions and many other functional concepts. > Note: The entire tutorial is ๐Ÿ‘† interactive, โœ… auto-graded and with ๐Ÿ“น video tutorials. These exercises were built in collaboration, we need you! If you find any bugs or misspellings, please contribute and report them. ## One click installation (recommended): You can open these exercises in just a few seconds by clicking: [Open in Codespaces](https://codespaces.new/?repo=4GeeksAcademy/python-functions-programming-exercises) (recommended) or [Open in Gitpod](https://gitpod.io#https://github.com/4GeeksAcademy/python-functions-programming-exercises). > Once you have VSCode open, the LearnPack exercises should start automatically. If exercises don't run automatically you can try typing on your terminal: `$ learnpack start` ## Local Installation 1. Make sure you have [LearnPack](https://learnpack.co) installed, node.js version 14+, and Python version 3+. This is the command to install LearnPack: ```bash $ npm i -g @learnpack/learnpack@2.1.20 && learnpack plugins:install @learnpack/python@1.0.0 ``` 2. Clone or download this repository in your local environment. ```bash $ git clone https://github.com/4GeeksAcademy/python-functions-programming-exercises.git $ cd python-functions-programming-exercises ``` > Note: Once you finish downloading, you will find an "exercises" folder that contains all the exercises within. 3. Start the tutorial/exercises by running the following command from the root of the project: ```bash $ pip3 install pytest==6.2.5 pytest-testdox mock $ learnpack start ``` ## How are the exercises organized? Each exercise is a small Python application containing the following files: 1. **app.py:** represents the entry Python file that will be executed by the computer. 2. **README.md:** contains exercise instructions. 3. **test.py:** you don't have to open this file, it contains the testing script for the exercise. > Note: The exercises have automatic grading, but it's very rigid and strict, my recommendation is to not take the tests too serious and use them only as a suggestion, or you may get frustrated. ## Contributors Thanks to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)): 1. [Alejandro Sanchez (alesanchezr)](https://github.com/alesanchezr), contribution: (coder) ๐Ÿ’ป, (idea) ๐Ÿค”, (build-tests) โš ๏ธ, (pull-request-review) ๐Ÿ‘€, (build-tutorial) โœ… (documentation) ๐Ÿ“– 2. [Paolo (plucodev)](https://github.com/plucodev), contribution: (bug reports) ๐Ÿ›, (coder) ๐Ÿ’ป, (translation) ๐ŸŒŽ 3. [Marco Gรณmez (marcogonzalo)](https://github.com/marcogonzalo), contribution: (bug reports) :๐Ÿ›, (translation) ๐ŸŒŽ This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind are welcome! This and many other exercises are built by students as part of the 4Geeks Academy [Coding Bootcamp](https://4geeksacademy.com/us/coding-bootcamp) by [Alejandro Sรกnchez](https://twitter.com/alesanchezr) and many other contributors. Find out more about our [Full Stack Developer Course](https://4geeksacademy.com/us/coding-bootcamps/part-time-full-stack-developer), and [Data Science Bootcamp](https://4geeksacademy.com/us/coding-bootcamps/datascience-machine-learning).