This is going to be a radical set of thoughts, but please bear with me.
You might want to consider looking into software and applications that teach coding to children. I am familiar with Scratch and taught it my 12-year-old nephew for about 2 hours; by the end of the weekend, he had built his very own game. Scratch is something you download for your computer; I know it works on Windows. They may support other computers, or, they may have gone with an online model by this time.
The second one, Bitsbox, I have only seen demonstrated (yesterday, in fact), and it seemed really good. My 10-year-old granddaughter wants me to create an account there so she can start doing some coding. I believe it is an online thing, as opposed to a program installed on your computer.
There is nothing wrong with taking a “children’s approach” to programming. You are, effectively, starting out with nothing and hoping to gain some real knowledge. It is certainly an easy/fun way to do that, with lots of examples on their respective sites.
When I started learning the Irish language several years ago, I scoured the internet for resources for children. Yeah, I was over 50, but I was eager to learn colors and numbers, just as if I were 6 years old. After studying for 3 or 4 months, my teacher gave me a book that was aimed at 8-year-olds, and I was thrilled to discover I could read it!
What concerns me most about your original post is that you said you felt like you were blindly copying the teacher’s instructions about setting a variable to X and another to Y and then doing a loop without knowing why you were doing it. If you truly mean that, it indicates that you haven’t grasped some basic, fundamental concepts. I was inclined to give you the benefit of the doubt, but after looking at your Monty Hall problem, I have to agree with TriPolar and others. Some of it may just be rookie mistakes, and we all have to start somewhere.
Both Scratch and Bitsbox will teach you, but they will go about it in different ways. Scratch is a “visual language”, and you drag-n-drop components around like puzzle pieces. It is certainly not a “practical” language, but it will definitely help you see what you are doing, and that may help you figure out some of those basic, fundamental concepts. Bitsbox is more like C/C#/Java/Javascript in that it is a written-out, scripted language. Learning that will help you learn object manipulation in a fun, game-oriented way.
[IMHO]
I don’t want to start a language war here, that is not my intent, and I am sure others will disagree with me. However, I have been a professional software developer since 1983, so please allow me my own bias. I am not sure I would consider python a great language to use as a starting language. I have written several python scripts and modified others without having any training in it. (Again, echoing what has been said before, you can learn a language by reading lots of stuff that other people have written.) I am not a python expert by any means. However, I don’t think it would be my first choice for a language to start learning programming. It feel too “abstract” for me.
[/IMHO]
Good luck, though. There are lots of ways to go about what you are trying to do. There are some good books out there that will help you learn a language. Typically, they start you out on a little program in chapter 1, and then modify it slightly in chapter 2 to add a feature. By the time you get to chapter 20, you have a full-blown application that is fairly useful.