INTERVIEW WITH PYTHON
More python code examples and exercises than you could ever need, all documented and explained for effective and fast learning. Comes with a GUI Exercise Search and Launcher out of the box*.
Why Use This Repo Over Others?
1. It has the most python code exercises of any repo on Github, and they're EASILY SEARCHABLE.
2. The code exercises are ACTUALLY DOCUMENTED AND EXPLAINED.
test_yourself.py
script*.
3. You can easily TEST YOURSELF with the 4. All the code exercises have SOLUTIONS, with code comment explanations included.
4. All the code in this repo has UNIT TESTING for you to verify against. It also checks the solutions code.
* Coming Soon :)
SETUP AND USAGE
Either fork or clone this repo, and you are good to go! There are <problem-name>-answer.py
files to add your solutions, and these are found in /solutions/<problem-name>/
.
Dependencies have been avoided and should be in the future, so now pip
installing need be done. It's standard library or nothing.
ADDITIONAL
Searching For Exercises
Run python search_and_launch.py your search terms here
to return a list of exercises whose tags match your terms.
Tags?
I am tagging all exercises, because maybe you want to work on graph-search algorithms specifically and who wants to search through 100 problem folders just going off the folder name. Tags are found in the problem answer file which are located at /problems/<problem-name>/<problem-name>-answer.py
FAQ & TROUBLESHOOT
What's Housekeeping For?
This repo already contains a lot of problems, and thus a lot of files and supporting files. It's only going to get bigger, so I'm working on some basic scripts to manage the repo's 'health' and to track its growth.
Other things related to the repo but not the questions and exercises directly are in here to. Like the CONTRIBUTING.md file and the LICENSE and the TODO.md.
Why Am I Seeing C++ In Here?
When you need speed and a deeper understanding of a problem Python can be a too slow and too 'high-level'. Where it's useful I aim to include C++ solutions (or maybe Java, C) to show a solution that is efficient and doesn't hide away some of the complexity.
CONTRIBUTING
I would be very happy to receive contributions. Find some simple guidelines in the CONTRIBUTING.md doc.