Projects from the hyperskill.org Python Developer track.
A basic python To-Do list.
Learning objectives:
- Basic SQL queries
- Vocabulary of OOP
A command-line game of Tic-Tac-Toe with three AI difficulty levels.
Learning objectives:
- Basic: control statements, array manipulations, recursions;
- Minimax implementation;
Possible improvements:
- Store board in a list to clean up indices (maybe this would make it less legible though);
- Speed up minimax implementation;
- Scalability to an nxn grid;
Wisdom learned:
- CHECK YOUR O'S ARE O'S AND NOT 0'S
A simple matrix processor for common operations (addition, multiplication, transpose...)
Learning objectives:
- Basic control statements and recursion;
- Class/OOP syntax;
Possible improvements:
- Exception handling (right now all inputs are considered valid);
- Improve display() method so it rounds/pads values;
A smart integer calculator with bracket support.
Learning objectives:
- Parsing user input;
- Exception handling;
- Stacks and queues;
Possible improvements:
- Add support for functions;
- Add "last answer" command;
- Powers, floats, exponentials...
Reads HTML page, writes it to a file with links highlighted in blue.
Learning objectives:
- Handling user input;
- HTTP requests;
- Reading and writing files in Python;
- Web scraping basics with BeautifulSoup;
Suggested improvements/bug fixes:
- Get rid of strings only constituted of whitespace;
- Fix tab names (there could be some conflicts/bugs);
- Return HTTP error codes