<

Instructions

User Image Log-in
with Discord
How-To Image

Welcome to Practical Python Coding Challenges.

Concept

Each week, for ten weeks, there will be one challenge with two parts. In most cases, Part 1 will be a bit easier, and Part 2 will either be a continuation of Part 1, a variation on the concept, or a similar concept in the same realm of problem-solving.

Each part has its own separate solutions and puzzle inputs.

Puzzle Inputs

Each challenge has at least one file that must be used to arrive at the correct solution. Usually, this is a text file, but other types of files may also be used. Additionally, there may be supplemental images to solve the puzzle which can also be downloaded. It is up to you to read this data into your own code for each challenge. For each required puzzle input, you will see text indicating it can be downloaded which looks like this...

[ click to get input ]

Solutions

This site offers no online IDE or Python Interpreter. You should write any code used to deduce the solutions on your own machine using the downloaded puzzle input files. Each challenge has exactly one correct solution for each of its two parts, which can be obtained using the puzzle input and implementing the correct algorithm hinted in the text of the problem.

The solutions will always be text and should be copied and pasted into the solution form on the site for submission. Make sure not to forget any part of it. For Part 1, if the correct solution is submitted, you will immediately be able to view Part 2 of the challenge. For Part 2, if the correct solution is submitted and you are logged in with Discord, you will be awarded a congratulatory screen with a link to the private discussion channel for that challenge in the Practical Python server.

Practical Python also offers a public channel for help if you are struggling with a challenge. However, please be fair to all and avoid posting the solutions to any challenges there. While there is no real penalty for cheating or sharing the answer, it does ruin the fun.

Progress

On the main page, your progress with the challenges is indicated using rocket icons:

rocket rocket_launch rocket rocket_launch

These icons will light up bright green when you have completed each part of the challenge: the docked rocket for Part 1 and the flying rocket for Part 2.

When you are logged in with your Discord account, this progress is saved in a database. This allows you to keep your progress across multiple browsers and computers indefinitely. If you choose not to log into Discord, your progress is stored via browser cookies and cannot be carried over to a different browser. Additionally, they cannot be relied upon to remain for any amount of time, subject to your own cookie settings and this server's session. Plan ahead to remember the previously completed challenge solutions while using this site as a Guest account, in case you lose your progress.

As always, the staff at Practical Python are happy to help if you are experiencing any difficulties. Please contact them via the Discord server.

Good luck and happy coding!

All challenges were thought up by JefeThePug. Though inspiration has come from a number of sources.

Special thanks are due to makaze
max_min_median
_zadok_
for their help with testing, editing, and general advice with all challenges.

Special thanks are also due to .xarlos for creating the Practical Python Discord server and hosting this website.