This repository is focused on python learning with exercise lists that correct itself for beginners.
You can contribute to this repository in the following ways:
- Adding single questions corresponding to some Python learning foundation;
- Adding lists full of questions corresponding to some Python learning foundation;
- Updating or Fixing lists and questions;
- Proposing useful changes, automations or corrections to this repository structure.
Be creative and playful in asking questions that draw attention positively. Eg.: Create a function that receives a list of Pokemon from a Trainer and returns the amount of Pokemon he has.
Lists and questions must be self-correcting, that is, they must contain assertations to verify that the implementation returns the correct values. See list_template_basic.
You can create questions and lists in English or Portuguese, but we prefer it to be in English (We accept Pull Requests for English translation 😊).
Be careful
For Lists and questions respectively, do you have to create one with this name pattern:
-
list_<LIST_NAME>_<LIST_DIFFICULTY>.ipynb
-
question_<QUESTION_NAME>_<QUESTION_DIFFICULTY>.ipynb
The difficulty of lists and questions should be defined among these options:
- baby
- basic
- intermediary
- advanced
- master
Use these icons at the beginning of your commit phrase to help verify the type of change you make:
- 💡 When adding something new (questions, lists or features)
- 🔁 When any changes are made
- 🆒 When code format/structure improvements
- 🐎 When improving performance
- 🚱 When resolving memory leaks
- 📝 When writing documentation
- 🐛 When fixing a problem
- 🔥 When removing code or files
- 💚 When fixing Continuous Integration issues
- ✅ When adding tests
- 🔒 When dealing with security
- ⬆️ When upgrading dependencies
- ⬇️ When downgrading dependencies
- 💽 When backing up data
The usage of questions and lists in this repository is free for educational purposes and should not be marketed. Enjoy it!!!
You can use Google Colab free tier to open the questions and lists to apply them to anyone or solve them by yourself.
Just go to Colab and open the file with the desired question, either via GitHub directly or downloading the file and importing it into the tool.
Remember that you must have a Google account and you can download files or save them to Drive after changes and solutions.
You can use a docker image to open the questions and lists to apply them to anyone or solve them by yourself.
Just download the docker on your machine and use the this jupyer-image to run the required python notebook environment, mapping the volume where the questions/lists lie.
docker run --rm -e JUPYTER_ENABLE_LAB=yes -v $(pwd):/home/jovyan/work -p 8888:8888 --name jupyterlab jupyter/datascience-notebook
Run the command above in the question files folder to upload jupyter-notebook on port 8888 and access them through a browser to solve or edit them as you wish.
You can search for questions and lists using the finder script created on finder-folder. Execute and usage it is simple:
- Use Python 3.9 version or higher
- Install the dependencies with:
pip install -r requirements.txt - Execute the script with command:
python finder/script.py - The script is self explanatory, so the interaction with it is very simple:
- Choose whether to search lists, questions, or both
- Choose the difficulty of the questions/lists you want to find - you can select as many as you like
- Enter the keyword you want to use as a filter - if you enter no word, no word filter will be applied, bringing all results based on previous filters
- You can perform as many searches as you like