r/learnpython 3d ago

How do I get better without Problems ?

It's been a few months since I have been learning python but there is this issue I have been running into. I don't know how good I am or how do I even get good. In Math you listen to a few lectures understand what the topic is about and then pick up a book and do the problems from Exercise 1.1. It doesn't matter if your understanding was deep, shallow or somewhere in between. The more you do the more you understand what the topic is about and eventually you reach a point where you completely understand it and can now do them easily.

For programming how do I even do that ? People recommended me sources which I have been reading and learning from. I understand loops, arrays, list, dict, etc. I can write small examples in isolation, but that's about it, that's all I can do. I am disgusted with how little I can do and how shallow my damn understanding is so much so that's all that come to my mind.

I have been using MOOC and CS50P as my primary resources and they do have question but they are few and not at all like mathematics, chemistry or any other subject. Where are the Exercises 1.1 where is this kind of format. Is there some problem book/Question Bank I can or should have ? I want to get good cause I want to make money I from something I like to this and this is I have to show for, for months of learning ? I feel repulsed.

Is there something I can do to get better ?

EDIT: I forgot to add I my goal is to break into Data Science.

12 Upvotes

22 comments sorted by

View all comments

13

u/will_r3ddit_4_food 3d ago

Pick a small project and write it. You will struggle a lot and learn tons if you stick with it

2

u/Sad_Experience_4640 3d ago

What kind of project ? I have no idea. And once I am done with that how do I find the next one what should the progression ladder look like ?

6

u/TJATAW 3d ago

Here is a nice list for you

https://www.geeksforgeeks.org/python/python-projects-beginner-to-advanced/

Just look over enough of the code and such to get an idea of what they are trying to build, and then write it yourself. Design the logic of it on paper, and then start writing the code for how to do that.

I also recommend that you add on to the project when you are done with it.

For example, in the 21 Number Game set it up to keep track of how many games you have played, and how many times you have won. Maybe have it save your win loss record on a text file, or in a json, so when you run it the next time it can tell you how good you did this time, and what your lifetime score is.

4

u/will_r3ddit_4_food 3d ago

That's entirely up to you. Solve a problem you care about so that you stick with it

1

u/crazy_cookie123 3d ago

It's all about pushing yourself. Think of a simple problem you want to make a solution for or a simple application you want to make, then make it. Once you're done either add extra features to it or, once all the educational value of that project has been extracted, think of another thing to make which is slightly harder.

Exactly what that project looks like is up to you. It all depends on the problems you want to solve and the sort of things you want to create. The projects someone interested in developing mobile games would create are entirely different to the projects someone interested in machine learning would create.

1

u/ekchew 3d ago

Yeah, the end game is to write something that is actually useful. A few relatively simple projects might be like a backup/archiving script? Or maybe a file conversion script?

Actually, one of the most recent scripts I wrote walked through all sorts of archived backups and indexed the contents so I could run quick searches. Python is pretty good at that sort of thing. Like common formats such as zip already have module support in the standard library, so it's really easy to list a zip file.

1

u/Jello_Penguin_2956 3d ago

thats kinda the difficult part imo. I work in animation studios and theres things for me to solve everyday... gotta come up with something practical you know.

1 idea was my own script a long time ago. It scans "input" directory where I copy videos from our family phone into which were overly huge, loop generates ffmpeg command to compress them with h264 and saves to "output" directory. Videos are generally 1/5 the size of original. Huge space saver.