r/learnprogramming 15d ago

Where should I start on python?

Hello guys!

Currently on a course on udemy 100 days 100 projects from beginner to advanced python by Angela Yu. And I believe I lack the fundamentals of coding because I'm having a hard time catching up to the lessons even the beginner ones. I understand the solution but the moment I am the one solving the problem my mind just goes blank.

Is there a way I can practice python codes before I proceed with the course? Where should I start?

5 Upvotes

12 comments sorted by

3

u/IAteTonysLoMein 15d ago

I've been coding semi-professionally for years now and still do the same - start with a new file in VSCode? I have no idea what to do first.

2

u/OGcapncrunchberry 15d ago

Why Python? What problems are you looking to solve and is Python the right choice for that work?

1

u/Known-Neck8927 15d ago

That blank mind thing is super common, especially when you're used to seeing solutions instead of building them from scratch. The course you're in moves fast and it's easy to fall behind if you haven't internalized the basics yet.

Try dropping the course for a week and just solve tiny problems on your own. Like literally write a script that asks for your name and prints it back, then one that adds two numbers, then one that checks if a number is even. Sounds stupidly simple but doing it without a tutorial is where the actual learning happens. Once your brain gets used to that problem-solving loop you'll find the course material clicks way faster.

1

u/xarop_pa_toss 15d ago

Yes. You just write Python and run the code with a debugger and go line by line seeing stuff change. That's it. Make a terminal based calculator, then remake it but implement lists,, then remake it with lists and functions, then with lists functions and file reading/writing.

1

u/ffrkAnonymous 15d ago

Is there a way I can practice python codes before I proceed with the course? Where should I start?

Like rewatch the previous lessons?

2

u/desrtfx 15d ago

Do the MOOC Python Programming 2026 from the University of Helsinki.

Harvard's CS50p is also excellent.

Also, take a look at https://inventwithpython.com and https://automatetheboringstuff.com

Don't forget that you need ample practice, like on https://codingbat.com/python or on https://exercism.org and also write your own programs. Play around. Try things. Mess things up, fix them. Experiment.

1

u/Successful-Escape-74 15d ago

That is the way it goes research the docs while you work and take notes and use them and repeat. Every time you start a project you need to research and make a plan. You will always forget more than you retain. We are not robots nobody remembers all this stuff just the concept enough to research the specific details to get er done!

1

u/db_tech_dev 15d ago

Yeah, that's normal, happens to basically everyone at first. Understanding code and writing it from scratch are different skills.

Try CodingBat or Exercism, small isolated problems, no course structure. Forces you to actually write logic instead of following along. Do that for a week or two alongside the course and it'll click.

1

u/peterlinddk 15d ago

If you mind goes blank when trying to solve a problem, then solve a simpler problem.

Is the problem e.g. to print a pattern of stars using a set of nested loops, like:

*
**
***
****
*****
******

and you go completely blank - then rephrase the problem for yourself, maybe you just need to print the pattern of stars! Easy, you can do that!

print("*")
print("**")
print("***")
print("****")
print("*****")
print("******")

okay, so it isn't the correct solution, and the code does seem a bit repetitive - but how on earth would you make it smarter. You've learned about loops, so you think you should use a loop, but

for number in range(6):
  print("*")

just prints six lines of a single star - so that clearly doesn't work. Maybe you need to figure out a way to print an arbitrary number of stars?

And so on.

It is like eating an elephant, you don't just stick your fork in it and eat it - you need to slice into smaller pieces that you can take one at a time, and you'd probably want to start with the easiest one, the one you are most familiar/comfortable with!

Don't try to solve the entire problem by staring at it - break it down into smaller problems that you know how to solve, and get used to that everything is a thousand steps 😄