Introduction
This workbook has been created for the purpose of practice and to allow readers of the crash course to further enhance their knowledge, understanding and usage of Python as a programming language.
If you have already gone through “Python Programming For Beginners: The Ultimate Beginner’s Guide to Learning the Basics of Python in a Great Crash Course Full of Notions, Tips and Tricks,” then this book is designed to further assist you in practicing all that you have learned so far.
Keeping true to the nature of the previous book, we will be looking into fun, intuitive and challenging exercises. These will test your ability and knowledge as a programmer and ensure that you are always prepared to tackle situations, questions and are able to identify errors. The exercises compiled here are taken from various sources, the links to which will be provided at the end of the book for your convenience. Should you like, you can visit these links for further exercises and test your programming skills to the max.
A great programmer is one who constantly practices his coding skills, has the ability to solve technical issues and can identify the kind of solution required to resolve a situation. Our aim with this book is in-line with this concept, which is why you can expect various types of exercises, projects and tests to learn from.
For your convenience, all solutions to questions and problems are provided in the last chapter. Refer to these when you feel you are unable to figure the problem out yourself. You may also refer to the first book from time to time to refresh your concepts and further clarify any ambiguities you may have during the process of learning and applying Python as a programming language.
There is no harm in admitting defeat. I assure you, I have been there a thousand times. If an exercise or question seems to be too much, remember to take it a little bit at a time. The better your state of mind, the clearer things will be for you.
Why Do I Need Exercises and Projects?
Ask any successful programmer in the world, and they will confirm the same: practice does make a programmer perfect. In the beginning, you might have been struggling with using PyCharm to write your code. Eventually, with a bit of practice, your pace started to increase. This is because you’ve now adapted to the IDE and the overall environment and feel of Python. The more you hone your skills, the more fluently you will type out your programs.
These exercises are designed to ensure you always have something to practice on. Once done with practicing the exercises as shown here, modify them at will to further create complex programs on your own. It is a perfect way to move into the intermediate and advanced levels of being a programmer. Every programmer goes through thousands of such miniature projects to gain perfect command of any language. While Python is comparatively easier to understand, do not underestimate the language. It can get tricky rather quickly, and with poor knowledge, you might actually end up going in circles.
The previous book has indeed taught you quite a few things. I have ensured that I created quizzes, exercises and questions to test each and every bit of that knowledge. This way, not only do you get to recall what you learned, but you also get to see the code in action by applying the solutions you think would be right. I do not claim to be the greatest programmer, nor that I am anywhere near being one, but what I can guarantee is that these exercises will certainly keep you on your toes and get you a step closer to becoming a great programmer yourself.
The projects are designed for your independent exploration. You have the entire internet to help you out with inspiration and ideas. Use the knowledge you gathered in the previous book and the experience that you will gain here to come up with more complex, more interactive programs that you can write for the projects I have chosen for you. These are projects which can make their way into the market as well, if you think out of the box and apply slightly more advanced logic and knowledge. Nothing is impossible, and programming is no different.
How Much Time Should You Spare?
While there are no specific limits that I would like to set here, I would, however, recommend that you squeeze out about one hour a day, if not more, to practice these exercises. Some of these might be quite easy in the beginning, but the purpose of such questions or exercises isn’t to test your know-how alone; it is to push you further to come up with practical usage of the knowledge.
Let me also clarify that by one hour a day, I do not mean that you spend 60 minutes of your time pacing through these exercises alone. Copy these exercises to your IDE and work with them. By the end of the book, you should have enough exposure to Python that you will be able to develop your own code by first analyzing the situation, roughly noting down the logic that would help you and then writing the actual code itself.
Once you gain the habit of writing codes daily, you will progress at a phenomenal rate and will hopefully be well on your way to becoming a full-fledged programmer within no time.
With that said, it is time for us to begin the second phase of the journey. This is where we find out just how much you have learned thus far and whether you have picked up the concepts correctly to solve some complex issues and answer questions based on the technicalities of Python.
Here’s a tip: Keep your PyCharm open as you read through the book to carry out the exercises as we move along. Do not jump to the last chapter just because the problem is seemingly impossible to solve. Take your time and analyze the situation carefully. The answer is far more obvious than you might think!