This page contains suggestions for resources to use to learn to code using Python. Python is the language that is used in all of the tutorials on this website, so if you want to attempt the coder's version of the tutorials or try to apply some of the methods explained on the website yourself, knowing the basics of Python is a must.
For Beginners:
If you have never coded before, you won't be able to attempt the coder's version of the tutorials on this website yet. However, there are great free resources online that will get you writing code in no time.
W3 schools' Python tutorials explain how to code starting from the basics, with exercises included at the end of each topic's explanation so you can check if you really understood how to apply the idea. Only the topics up to and including 'Python Functions' on their tutorial list (and their first five basic NumPy tutorials) are necessary to know to complete the SimulateTomorrow tutorials. With that said, if you want to learn to code in Python in more general contexts, I would recommend working through more of their tutorials than just those few.
Often when we learn to code for the first time we learn how the language functions (as you will learn from the W3 schools tutorials) and feel confident that we can write some code. However, quite often we then approach a problem and find we don't know how to translate the way we would think about coding a solution into actual code. This is something that takes practice. The SimulateTomorrow tutorials are intended to walk you through the thought process, so you may find them helpful for learning to 'think programmatically', but a purpose built resource for this is FreeCodeAcademy. It is essentially a bunch of problems for you to work on and practice turning your problem solving ideas into code.
Refresher/Fast Track for Python Coding:
If you have experience working with other programming languages (particularly object-oriented ones) and feel like you could pick up a new language fairly quickly by learning the basic structure of it or if you have coded in Python before but don't feel confident that you remember all of the details, the Learn X in Y Minutes Python page (sections 1-4) could be the 20-minute read required to get you up to speed before giving the SimulateTomorrow tutorials a go.
If you have more than 20 minutes, I would recommend going through the W3 schools tutorials mentioned above and particularly if you have Python experience but you aren't confident in your abilities, FreeCodeAcademy (mentioned above too) could be useful for you.
General Comments on Online Resources:
Thankfully, there are lots of online resources to learn to code using pretty much any language. YouTube and free Coursera and edX courses are other great free resources to learn from, and if you're ever confused about something forums such as Stack Overflow often have discussions that could help you. There are many websites that advertise themselves as 'free', but when you actually start working through their resources you find that you can't try their exercises or view more than a few lessons before requiring a monthly subscription. My advice is to stick to the free resources - there are plenty to choose from and whether you pay for the lessons or not, they will have essentially the same content. What separates good coders from mediocre coders at the end of the day is practice, not whether they bought a coding course or used a free one when they started out.